2023-02-27 10:26AM
针对多个文件进行 查找和替换:
使用插件: Greplace
Gsearch -F '要替换的字符串' . -R --include=*rb这里的 -F, -R --include=*rb 这些参数,跟grep中的一样。
在返回的结果中,把该替换的替换。
Greplace 然后选择 y/a/n 来决定是否替换。
最后, 输入 wa 保存所有文件的改动
输入文本:
从导航模式到编辑模式,有下面几种方法:
在光标前输入: i ( insert )
在光标后输入: a (append / after )
在行首增加内容: shift + i
在行末增加内容: shift + a
在光标下行增加内容: o
在光标上行增加内容: shift + o
删除:
以下删除都以当前光标作为起始位置。
删掉一个字母:x
删掉一个单词: dw
删掉一行: dd
删掉多行: shift +v, 然后 x 或者 d
复制与粘贴:
复制,或者删除(vim认为删除就是剪切,所有被删掉的内容,都会被放到复制缓冲区中)后,就可以粘贴了。
复制一个单词: yw
复制当前行: yy
粘贴: p
自动补全:
凡是在 Vim 缓冲区中(近期打开过的文件)的代码,都可以补全。
从上到下选择候选词: ctrl + n
从下到上选择候选词: ctrl + p
多重复制与粘贴:
现在在 Windows, Mac 和 Linux下的复制操作,都不支持多种复制。 很奇怪。
Vim中支持。 使用YRShow 插件。
在我的个人配置中. , + a 即可。原始命令: :YRShow 。 在弹出的“复制历史列表”中, 上下移动, 找到合适的后直接按回车即可
分割屏幕:
竖屏分割: vs (vertical split缩写)
横屏分割: sp (split缩写)
来回跳换: ctrl + w + w (跳到下一个小窗口), 或者 ctrl + w + <j/k/h/l> (跳到某个方向的小窗口)
注释多行:
这里使用了插件: nerd-commentor. 为它配置了自己的快捷键。
选中多行 (shift + v)
,cb (逗号 c b 三个键要快速按)
取消注释: 使用传统的替换即可
为多行代码格式化:
多行选中后, 按 = 即可。 (注意:不是100%好用。 因为有的代码本身就是不完整的)
快速跳到当前光标所属文件(如果可能的话):
在 Rails的 路由或者 视图文件中,很好用。gf 即可。 (gf = go to file)
在 View 中, 快速跳到一个 partial.
在 config/routes.rb 中跳到controller
Rails插件:
Rails插件允许我们快速的在各种文件中跳来跳去(相信Vim 也有 Django, Spring, angular, 这样的插件.)
跳转到 controller: ctrl + c
跳转到 model : ctrl + m
跳转到 view : 先移动到对应的action, 再 ctrl + v
显示/隐藏行数:
:set number 显示行数
:set nonumber 取消行数
折叠/取消折叠过长的行:
:set wrap 折叠
:set nowrap 取消折叠
粘贴模式:
Vim 正常模式下的粘贴,会导致粘贴的代码一行接一行的缩进。 如果要取消这种缩进的话,就要进入到 "粘贴模式". (记得在这个模式下,无法使用 ctrl + t 命令来快速打开文件。 )
:set paste 进入到粘贴模式
:set nopaste 取消粘贴模式
代码左移/右移 与 重复上一次操作:
在我们格式化代码时会用到 (极度好用)
左移: 选多行后, < ( shift + , )
右移: 选多行后, > ( shift + . )
重复上次操作: .
vim的使用:
上下左右: jkhl
下一个单词: w (word)
[按一下w 相当于按多下l]
前一个单词: b (backword)
下一屏: ctrl + f (f = forward)
上一屏 : ctrl + b (b = backward)
搜索some_string: /some_string
把全局的some_string 替换成 new_string : %s/some_string/new_string/g
(替换也叫全局替换 :%s/原来的字符串/新字符串/)
局部替换:1.先 shift + v 选中若干行
2. :s/原来的/新的字符串
继续搜索下一个: n
继续搜索前一个 : N (shift + n)
下一个候选: ctrl + n (next)
上一个候选: ctrl + p (previous)
删掉一个字母: x
删掉一个单词: dw
删掉一行: dd
删掉3行: 3d
复制一个单词: yw
复制当前行: yy
粘贴: p
然后上下移动:shift + v
(也可以 直接 v然后上下左右移动, 这也是选择多行,只是不是整行整行的选择)
选中N行: shift + v , 再 jk
快速打开一个文件: ctrl + t
快速打开前一个文件: ctrl + e
跳到当前行的末尾: shift + 4 (意为 $ , 这是正则表达式中 末尾的意思)
跳到当前行的行首: 0
跳到文件头: gg
跳到文件末尾: shift + g
在光标前新增内容: i (insert的缩写)
在光标后新增内容: a (add的缩写)
快速的跳到该行最后: shift + 4
快速的跳到该行最前: 0
快速返回上一次编辑的文件: ctrl + o ( o 意为 outer )
快速返回下一次编辑的文件: ctrl + i ( i 意为 inner )
上一次编辑的地方: g;
下一次编辑的地方: g,
参考:http://vim_book.siwei.me/lesson3.html
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论