常用vim操作
一般模式
1.移动光标
-
上下左右移动光标 - 就是键盘的上下左右键,space键相当于右移
- hjkl 四个键连在一起,最左边和最右边的左右移动,中间的两个上下移动
- 一次上下移动多行,或者左右移动多个字符,数字+移动键
-
- 移动到非空行的下一行,- 移动到非空行的上一行
- Ctrl+f 屏幕向下移动1页 相当于 PgDn
- Ctrl+b 屏幕向上移动1页 相当于 PgUp
- 0,Home 移动到所在行最前面
- $,End 移动到所在行的最后面
- H 移动到最上行第一个字符 high
- M 移动到屏幕中间行的第一个字符 middle
- L 移动到屏幕最下方的第一个字符 low
绝对移动
相对移动
N+enter 向下移动n行 相当于 n+向下
2.查找替换
查找
- /word 向下查找word字符串
- ?word 向上查找work字符串
- n,N n表示继续前一个查找,N表示反向查找,使用n,N和/结合查询
替换
- :n1,n2s/word1/word2/g n1,n2行之间,将word1替换为word2,不需确认,gc需要确认
- :1,$s 第一行到最后一行
3.删除,复制,粘贴
删除:
- x = delete,nx 向后删除n个字符 , X = backspace
- dd 删除光标所在的一整行 , n+dd 向下删除n行
- d1G 删除光标所在行到第一行的所有数据,dG 删除光标所在行到最后一行的所有数据
- d$ 删除光标所在处到所在行最后一个字符,与d0相对,d0删到第一个字符
复制:
dd | 删除整行 | yy | 复制整行 |
ndd | 向下删除n行 | nyy | 向下复制n行 |
d1G | 删除光标所在行到第一行所有数据,包含所在行 | y1G | 复制光标所在行到第一行 |
dG | 删除光标所在行到最后一行所有数据 | yG | 复制所在行到最后一行 |
d0 | 删除光标所在处到该行第一个字符 | y0 | 复制光标所在处到该行第一个字符 |
d$ | 删除光标所在处到该行最后一个字符 | y$ | 复制光标所在处到该行最后一个字符 |
4.其他
- u 复原前一个操作 相当于撤销 后退
- Ctrl+r 重做上一个操作 前进
- . 小数点,重复前一个操作
编辑模式
插入模式:
- i,I,a,A,o,O 都可进入insert模式,小写的话进入光标位置不变,大写的话光标跳到所在行第一个非空格字符
- r和R 进入替换模式,r替换一次即退出,R多次替换
命令行模式
其他功能
多文件编辑:
- :n 编辑下一个文件
- :N 编辑上一个文件
- :files 列出vim打开的所有文件
- sp [filename] 分栏显示另个文件,主要是对比功能,vsp是左右分栏,Ctrl+w+上下键可在窗口之间移动,Ctrl+w+q 关闭分栏
vim环境设置
~/.viminfo 文件记录着曾经做过的操作
:set all 查阅配置项
常用的设置
- :set nu 设置行号,:set nonu 取消行号
- :set hlsearch 高亮查找,对应的是 :set nohlsearch,hightlight search的意思
- :set autoindent 自动缩排
- :set backup 设置备份,改动任何文件的时候,源文件被备份为filename~的文件
- :set showmode 显示当前模式
- :set 显示与默认设置不同的参数项
- :Syntax on和Syntax off:根据语法显示不用颜色
- :set bg=xxx 设置背景颜色
配置文件
整体vim的配置文件地址 /etc/vimrc,不要修改,可以修改~/.vimrc,可以手动创建。
注意事项
与一般文档编辑软件的区别
- 一般模式下,Backspace 退格键是向前移动光标,x 是删除键
- 撤销:Ctrl+r
- Ctrl+v 块选择,y 复制,p 粘贴