说说你知道的VIM小技巧?

2012-08-10 20:05:31 +08:00
 alanerzhao
发题,大家说一下自己了解VIM的小技巧吧?或者好东西分享一下,谢谢大家了,VIM好爱者。
5128 次点击
所在节点    问与答
43 条回复
ljbha007
2012-08-11 00:18:08 +08:00
按j是往下移动光标
alanerzhao
2012-08-11 00:21:13 +08:00
@kavinyao 谢谢,收集tips中。
alanerzhao
2012-08-11 00:22:42 +08:00
@lldong 地址是?
alanerzhao
2012-08-11 00:23:05 +08:00
@kongruxi 谢谢分享
mitnk
2012-08-11 00:27:31 +08:00
@realfex 谢谢,想知道这个命令好久了!

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

@realfex 说得少了点。应该是

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

另一技巧是当你用j向下移动已经选中一些行,但这时需要将起点上面几行也加入时,可以按下o键(Other side)就可以按k选行了。(此技巧也可以用在Visual Mode -- Shift-V中)
lldong
2012-08-11 01:10:58 +08:00
yangg
2012-08-11 02:09:16 +08:00
@mitnk o 这个不错
args
2012-08-11 06:06:00 +08:00
:h quickref
alanerzhao
2012-08-11 09:27:10 +08:00
@mitnk 谢谢补允
alanerzhao
2012-08-11 09:30:55 +08:00
AlloVince
2012-08-11 10:09:56 +08:00
kaychen
2012-08-11 10:16:59 +08:00
shift+n 自动匹配
dw 删除字符段
clww
2012-08-11 11:35:25 +08:00
刚了解的一个,普通用户用sudo权限保存(一次) `:w !sudo tee %`
Esc隔得太远,映射成了jj,修改vimrc `:imap jj <Esc>`
tioover
2012-08-11 11:56:22 +08:00
可以把默认剪贴板改成系统剪贴板,命令忘了
cfddream
2012-08-11 14:13:02 +08:00
@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-08-11 17:03:11 +08:00
set list
set listchars=tab:»·,trail:·

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

曾经试过想转到Emacs,就是这个命令让我继续留在Vim阵营。
bitsmix
2012-08-11 18:36:36 +08:00
@clww ctrl + [ 多好。
jerommix
2012-08-11 19:32:45 +08:00
alanerzhao
2012-08-11 22:53:51 +08:00
@AlloVince 谢谢分享有时间去看。

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

https://tanronggui.xyz/t/44826

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

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

© 2021 V2EX