说说你知道的VIM小技巧?

2012 年 8 月 10 日
 alanerzhao
发题,大家说一下自己了解VIM的小技巧吧?或者好东西分享一下,谢谢大家了,VIM好爱者。
6037 次点击
所在节点    问与答
43 条回复
ljbha007
2012 年 8 月 11 日
按j是往下移动光标
alanerzhao
2012 年 8 月 11 日
@kavinyao 谢谢,收集tips中。
alanerzhao
2012 年 8 月 11 日
@lldong 地址是?
alanerzhao
2012 年 8 月 11 日
@kongruxi 谢谢分享
mitnk
2012 年 8 月 11 日
@realfex 谢谢,想知道这个命令好久了!

以前见一位同事用过这个命令,当时忘记问他了。

@realfex 说得少了点。应该是

Ctrl-V(进入列模式)用jk上下移动选中需要插入的行,然后Shift-I插入内容,按ESC生效。

另一技巧是当你用j向下移动已经选中一些行,但这时需要将起点上面几行也加入时,可以按下o键(Other side)就可以按k选行了。(此技巧也可以用在Visual Mode -- Shift-V中)
lldong
2012 年 8 月 11 日
yangg
2012 年 8 月 11 日
@mitnk o 这个不错
args
2012 年 8 月 11 日
:h quickref
alanerzhao
2012 年 8 月 11 日
@mitnk 谢谢补允
alanerzhao
2012 年 8 月 11 日
AlloVince
2012 年 8 月 11 日
kaychen
2012 年 8 月 11 日
shift+n 自动匹配
dw 删除字符段
clww
2012 年 8 月 11 日
刚了解的一个,普通用户用sudo权限保存(一次) `:w !sudo tee %`
Esc隔得太远,映射成了jj,修改vimrc `:imap jj <Esc>`
tioover
2012 年 8 月 11 日
可以把默认剪贴板改成系统剪贴板,命令忘了
cfddream
2012 年 8 月 11 日
@tioover
```vim
nnoremap <silent><leader>p :call system('pbcopy', expand('%:p'))<cr>
vnoremap <leader>cp y:call system('pbcopy', getreg("\""))<cr>
nnoremap <leader>vv :call setreg("\"",system('pbpaste'))<cr>p
```
iwinux
2012 年 8 月 11 日
set list
set listchars=tab:»·,trail:·

显示行尾空格 ><
PrideChung
2012 年 8 月 11 日
`ci"` 可以直接修改引号内的内容,写HTML的时候特别方便。还可以`ci'` `ci(` `ci[` `ci{` …
当然也可以把 c 改成 d,不进入Insert Mode。

曾经试过想转到Emacs,就是这个命令让我继续留在Vim阵营。
bitsmix
2012 年 8 月 11 日
@clww ctrl + [ 多好。
jerommix
2012 年 8 月 11 日
alanerzhao
2012 年 8 月 11 日
@AlloVince 谢谢分享有时间去看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/44826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX