我希望能够分别用tab和shift-tab突出显示我想要缩进/反向缩进和缩进的行。
" for command mode reverse tab
nmap <S-Tab> <<
" for insert mode reverse tab
imap <S-Tab> <Esc><<i
" for command mode multiple line reverse tab(doesn't work)
nmap <Tab> i<
" for insert mode multiple line reverse tab(doesn't work)
imap <Tab> <
" for command mode tab
nmap <Tab> >>
" for command mode multiple line tab(doesn't work)
nmap <Tab> i>
" for insert mode multiple line tab(doesn't work)
imap <Tab> >
在我愿意使用vim作为我的主编辑之前,这是我需要的最后一件事。
答案 0 :(得分:23)
要选择并突出显示您的文字,您需要start using visual mode,(我通常通过点击 v 来执行此操作)并使用标准motions选择您的文字(例如 h , j , k 和 l )。
要创建在visual mode中使用的映射,您需要:vmap
...
:vmap <Tab> >
:vmap <S-Tab> <
但为什么你需要为此创建一个映射?
在visual mode中,<会向左移动选定的行并向右移动>。
有时最好只学习Vim(甚至是Vi)键,然后你可以使用任何安装,而不仅仅是.vimrc
的安装。
例如,你已经把:
imap <Tab> <
这个坏主意。这将使您更难在文本中插入制表符(即使 ctrl + i 也不会像我期望的那样工作),每次你键入标签,您将插入<
。
快乐编辑!
答案 1 :(得分:5)
在插入模式下,您可以使用 control - d 和 control - t 删除/添加缩进(分别)。
所以,替换
imap <Tab> <
带
imap <Tab> <c-d>
和
imap <Tab> >
带
imap <Tab> <c-t>
在视觉模式中,您可以突出显示一个块,然后点击&lt; 或&gt; ,但如果您希望它是 tab 和 shift - 标签,你可以像vmap
一样设置它,就像你为其他人做的那样。
答案 2 :(得分:1)
把它放在.vimrc中就是你想要的
:map <Tab> >
:imap <Tab> <Esc> >
:vmap <Tab> >gv
:map <S-Tab> <
:imap <S-Tab> <Esc> <
:vmap <S-Tab> <gv
vmaps之后的gv将保留您的亮点。地图和imaps将允许您插入其他模式。它不像textmate,但它已经到了那里:)