簡體   English   中英

Vim - 使用制表符縮進多行

[英]Vim - Indent multiple lines with tab

我希望能夠分別用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作為我的主編輯之前,這是我需要的最后一件事。

要選擇並突出顯示文本,您需要開始使用可視模式 (我通常通過按v來執行此操作)並使用標准運動 (例如hjkl )選擇文本。

要創建在可視模式下使用的映射,您需要:vmap ...

:vmap <Tab> >
:vmap <S-Tab> <

但為什么你需要為此創建一個映射?

視覺模式下<會向左移動光標選擇的線和>向右。

有時最好只學習Vim(甚至是Vi)鍵,然后你可以使用任何安裝,而不僅僅是你的.vimrc

例如,你已經把:

imap <Tab> <

這個壞主意。 這將使您更難在文本中插入制表符(即使按ctrl + 也不會按照我的預期工作),每次鍵入制表符時都會插入<

快樂編輯!

在插入模式下,您可以使用control - dcontrol -t刪除/添加縮進(分別)。

所以,替換

imap <Tab> <

imap <Tab> <c-d>

imap <Tab> >

imap <Tab> <c-t>

在視覺模式中,您可以突出顯示一個塊,然后點擊<> ,但如果您希望它是tabshift - tab ,則可以像使用vmap一樣為其他人設置它。

把它放在你的.vimrc中就是你想要的

:map <Tab> >
:imap <Tab> <Esc> >
:vmap <Tab> >gv
:map <S-Tab> <
:imap <S-Tab> <Esc> <
:vmap <S-Tab> <gv

vmaps之后的gv將保留您的亮點。 地圖和imaps將允許您插入其他模式。 它不像文本,但它到了那里:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM