给定以下代码:
map <F6> :let $VIM_DIR=expand('%:p:h')<CR>:terminal<CR>cd $VIM_DIR<CR>
我可以按F6键,然后vim自动打开一个与终端中当前目录的分割。
我想把这个键Map改成类似Control +~的东西。
我尝试了:
map <c+~> :let $VIM_DIR=expand('%:p:h')<CR>:terminal<CR>cd $VIM_DIR<CR>
map <c+`> :let $VIM_DIR=expand('%:p:h')<CR>:terminal<CR>cd $VIM_DIR<CR>
map <C+~> :let $VIM_DIR=expand('%:p:h')<CR>:terminal<CR>cd $VIM_DIR<CR>
map <C+`> :let $VIM_DIR=expand('%:p:h')<CR>:terminal<CR>cd $VIM_DIR<CR>
没有一个能用。
1条答案
按热度按时间carvr3hs1#
检查给定快捷键的正确键盘符号的一个好方法是在vim命令行中使用
Ctrl-V
。例如,在Windows GVIM中使用英式键盘,按Ctrl-~
意味着按Ctrl-Shift-#
(因为~
在键盘上#
的"上方")。由于某种原因,如果我按:: Ctrl-V Ctrl-Shift-#
我得到这个:
这意味着Vim将
Ctrl-Shift-#
解释为<C-S-^>
,因此,如果我想让它做与F6
相同的事情,我可以利用递归Map并键入:它应该可以工作,注意如果我在命令行中交互输入,我可以输入
<C-S-^>
位。不是所有的键盘快捷键都能这样工作,因为有些可能会被其他进程占用(例如,Windows上的
Win-L
会锁定计算机,我不认为你可以在Vim中覆盖它)。