vim - 我可以在 Vim 中映射 Alt 键吗?

标签 vim

我尝试通过将以下行添加到 .vimrc 映射到 ,但它不起作用。我检查了 .vimrc 是否由 Vim 加载。

map <Alt-D> <C-D>

此映射是否有错误?

最佳答案

对于 Mac 用户:要映射 ALT+hjkl,请使用生成的真实字符(找出在 INSERT 模式下使用该组合的字符),例如使用我的键盘:

<ALT+j> ==> ª
<ALT+k> ==> º

等等。 找到解决方案here在 StackOverflow 上。

我用它通过 ALT+k\j 上下移动行,在我的 .vimrc 上使用它:

nnoremap ª :m .+1<CR>==
nnoremap º :m .-2<CR>==

inoremap ª <Esc>:m .+1<CR>==gi
inoremap º <Esc>:m .-2<CR>==gi

vnoremap ª :m '>+1<CR>gv=gv
vnoremap º :m '<-2<CR>gv=gv

如所解释的here .

希望它有用,享受 Vim :)

ADDENDUM BY Dylan_Larkin (2019):要在 Mac 上运行,必须在终端-> 中关闭使用选项作为元键”首选项->键盘

更新 09/2021

我最近从“英式”键盘切换到“ABC - 扩展”,并注意到此配置无法按预期工作。 作为替代方案,我映射了 <up><down>键执行相同的操作(我猜,这也解决了这个问题的其他答案中解释的大部分复杂性):

nnoremap <down> :m .+1<CR>==
nnoremap <up> :m .-2<CR>==

inoremap <down> <Esc>:m .+1<CR>==gi
inoremap <up> <Esc>:m .-2<CR>==gi

vnoremap <down> :m '>+1<CR>gv=gv
vnoremap <up> :m '<-2<CR>gv=gv

这对于初学者来说也是一个很好的方法,可以帮助他们重新养成使用箭头的习惯,并学习更有效的 Vim Action 方式来在代码中移动。 ;)

您可以完成您的转换映射<left><right>通过以下方式在选项卡之间快速移动:

nnoremap <left> gT
nnoremap <right> gt

或者任何你喜欢的东西(甚至是残酷的 <NOP> ,就像我在旅程开始时所做的那样)。

关于vim - 我可以在 Vim 中映射 Alt 键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7501092/

相关文章:

Vim 语法文件 : Adding certain characters to iskeyword isn't working

vim - 在 Vim 中提高工作效率的手指位置

VIM 改变了我的行为 - 跳转到 : is broken 行

Vim:snipMate 插件不会触发片段完成

vim - 如何在 VimScript 中获取可视化选择的文本

c - 如何恢复丢失的文件

eclipse - 有哪些插件可用于在 Vim 或 Eclipse 中编辑 ASCII 图表?

dictionary - 如何在VIM中映射CAPS LOCK键?

c++ - gdb 前端与 vim 一起使用?

linux - 查找并替换由分隔符分隔的字符串