- 显示行号
打开vimrc配置文件:vim /etc/vimrc
在vimrc文件的最后添加:set nu
手动加载配置:source /etc/bashrc
- 全部删除:按esc后,然后dG
- 全部复制:按esc后,然后ggyG
- 全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG
- 单行复制:按esc键后, 然后yy
- 粘贴:按esc键后, 然后p
- 单行删除:按esc键后, 然后dd
- 复制到粘贴板: 全选高亮显示之后,ctrl+shift+c,
- vim只能粘贴50行的问题:/etc/vimrc set viminfo='1000,<500
- 退出
- 保存并退出 :wq + 回车键
- 保存并退出 ZZ
- 不保存退出 :q! +回车键
- 撤销:
撤销上一次的操作,等同于Ctrl + z:u
重做: Ctrl + r
- 文本替换:%s/被替换的文本/替换成的文本,比如%s/o/+++会把所有的o替换成+++
- 文本搜索:/欲搜索的文本,比如 /o 会搜索文本中所有的o,找到文本后,通过n和N命令切换到上一个和下一个
- 设置tab
为了vim更好的支持python写代码,修改tab默认4个空格有两种设置方法:
1. vim /etc/vimrc
set ts=4
set sw=4
2. vim /etc/vimrc
set ts=4
set expandtab
set autoindent
推荐使用第二种,按tab键时产生的是4个空格,这种方式具有最好的兼容性。
- 跳到文本的最后一行:按“G”,即“shift+g”
- 复制/剪切/粘贴:非insert模式,按v进入visual模式,然后使用j/k/h/l end进行文本选择,对于选中的文本进行如下按键:
(1.1)d ------ 剪切操作
(1.2)y -------复制操作
(1.3)p -------粘贴操作
(1.4)^ --------选中当前行,光标位置到行首(或者使用键盘的HOME键)
(1.5)$ --------选中当前行,光标位置到行尾(或者使用键盘的END键)
- 复制多行(例如:将第9行至第15行的数据,复制到第16行):
-- :9,15 copy 16 或 :9,15 co 16
--:将第9行到第15行的文本内容到第16行的后面:9,15 move 16 或 :9,15 m 16
- 删除:
- 删除一行:dd
- 删除多行:ndd
- 删除以当前字符开始的一个字符:dw
- 删除以当前字符开始的n个字符:ndw
- 删除以当前字符开始的一行字符:d$、D
- 删除到下一句的开始:d)
- 删除到下一段的开始:d}
- vim如何与剪贴板交互
· 在vim中使用 "*y 使用进行复制,然后在应用程序中用ctrl+v粘贴。
"*yy复制一行
"*y2w复制二个词
· 从应用程序到vim则在应用程序中使用ctrl+c复制,在vim中使用shift+insert粘贴。
vim格式化代码
实际上就是 "缩进代码", 命令是等号=
格式化就是 vim 根据 文件的类型, 自动的对代码进行 缩进
缩进的类型有多种, 都是用等号命令: =
- 全部格式化 : gg=G
- 对当前行格式化(缩进): ==
- 对以下多行格式化(倍数操作): [count] ==
- 选择多行后, 执行 等号命令 =
Vim快速移动光标至行首和行尾
1、 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。
2、 如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快捷键"$"(Shift+4)。与快捷键"^"和0不同,快捷键"$"前可以加上数字表示移动的行数。例如使用"1$"表示当前行的行尾,"2$"表示当前行的下一行的行尾。
3、I是定位到行首,A是定位到行末。