用户名:  密码:   
您当前的位置:首页 > 电脑与网络 >  Linux > 

vim快速入门

上次修改时间: 2023-11-09 18:11:39      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\linux\      下一页

vim快速入门

在Vscode中使用vim插件https://fishc.com.cn/thread-233678-1-1.html

第一讲 左下上右移动光标的方法及技巧
1. 普通模式下用hjkl来移动光标,它们分别是左下上右,j是下,jump down跳下去,k是kick up,踢上去
 5j //将光标下移5行
 10l //将光标右移10个字符
 C+y/e //光标所处行数不变,屏幕多显示上一行或下行内容
 C+u/d/f/b //up/down/forward/backward,//光标所处屏幕位置不变,向上/下翻半页,向上/下翻一页
 w/W|e/E  //跳到下一句或单词字首|字尾
 b/B  //跳到上一句或单词字首
 0/^/$  //跳到第0个字符或行首及行尾
 gg/G //跳到文件首或尾
 5gg/5G //跳到文件首第5行
 133G //跳到文件首第133行
 fa  //跳到当前行的下一个字符a
 
2. 通过游戏来记住几个键,游戏可以在官方论坛下到,https://fishc.com.cn/thread-65456-1-1.html, 是用C写的有源码,直接运行即可


第二讲 进入插入模式及退出VIM的一些方法和技巧
1. 进入插入模式的几种方法
i/I 光标前或所在行首
a/A 光标后或所在行尾
o/O 光标所在行下/上方插入空行
s/S 清除光标所在字符或行进入插入模式 注:清除所在行,行在但无内容,删除所在行,行不在,下方内容上移

2. 退出插入模式进入普通模式
按ESC

3. 退出VIM的几种方法
直接退出(没修改),普通模式下输入 :q
不保存强制退出(有修改),:q!
修改后保存并退出(有修改), :wq或ZZ(按住sift,按按两个z键)
注:以上操作要先按Esc进入普通模式

4. VIM的其它模式
基本模式:普通,插入,可视,选择,命令行
扩展模式:操作符等待,插入可视,插入选择,替换


第三讲 快速移动光标,删除指定字符及撤消的技巧
1. 普通模式下光标移动的操作范围指令motion
 0光标移到首行,^同上,//可理解为程序中下标以0开头,来加强记忆 
 $光标移到行尾,可理解为结束给钱
 b移动单词开头,begin
 e移到单词结尾,end
 w移到下一单词开头,word
 gg文件开头, //经常操作的双写
 G文件末尾

2. 插入模式下的删除,同windows,按Backspace和delete

3. 普通模式下的删除
 1) 按x,删除光标所在字符
  3x, 删除光标开始的3个字符
  J,删除当前行的换行符,与下一行合并
 2)d+0/$删除到行首/尾,整行
  d0删除光标处到行首
  d$删除光标到行尾
  dd删除光标所在行,删除下一行上移
 3)d+b/e/w删除到单词始/尾,及下一单词处
  db删除光标到单词始
  de删除光标到单词尾
  dw删除光标到下个单词起始处
 4)d+左上下右键删除光标左右字符,光标上下行
  dh删除光标前一个
  dl光标处字符
  dj光标所在行及下一行
  dk光标所在行及上一行
 5)d+gg/G删除到文件始/尾
  dgg光标处到文件首
  dG光标处到文件尾
 
4. 配合数字进行指定数目的光标移动与字符删除 
 1)数字+左上下右键移动光标
  3h/3l 向前/后移3字符
  3j/3k 向下/上移3行
 2)d+数字+左上下右键删除指定行与字符
  d3h/d3l 向前/后删除3字符,不含光标字符
  d3j/d3k 向下/上删除3行
 
5. 撤消上一次的修改,
 u撤消上一次的修改
 U撤消对整行的修改
 C+r对撤消的撤消,u是注前撤,C+r是往后撤


第四讲 复制,替换,修改(删除+进入插入模式)
1. 删除光标所在行,粘贴到下一行上,按dd+p
 注:p粘贴到下一行或后面,P粘贴到上一行或前面,
2. 复制非整行:需要先用y+motion命令拷贝,语法同第三讲的d+motion,拷贝后再用p粘贴
 yy拷贝当前行
 3yy拷贝3行
 y$拷贝光标处到行尾
 yG拷贝光标处到文件尾
3. 替换
 r+新字符 替换光标所在字符
 数字+r+新字符 从光标位置开始替换数字个字符为新字符
4. 替换模式,按Esc回普通模式
 R 输入大写的R,屏幕左下角出现--REPLACE--
 
5. 修改命令
 c 格式:c[number]motion
6. 普通模式下的修改
 //***注:所有使用c的修改命令完成后会自动进入插入模式,c可能是corrective,纠正,改正英文的简写
 2)c+0/$删除到行首/尾,整行
  c0删除光标处到行首
  c$删除光标到行尾
  cc删除光标所在行
 3)c+b/e/w删除到单词始/尾,及下一单词处
  cb删除光标到单词始
  ce删除光标到单词尾
  cw删除光标到下个单词起始处
 4)c+左上下右键删除光标左右字符,光标上下行
  ch删除光标前一个
  cl光标处字符
  cj光标所在行及下一行
  ck光标所在行及上一行
 5)c+gg/G删除到文件始/尾
  cgg光标处到文件首
  cG光标处到文件尾
 
7. 配合数字进行指定数目的光标移动与字符删除 
 1)数字+左上下右键移动光标
  3h/3l 向前/后移3字符
  3j/3k 向下/上移3行
 2)c+数字+左上下右键删除指定行与字符
  c3h/c3l 向前/后移3字符
  c3j/c3k 向下/上移3行 
  c2w 删除光标单词及下一个单词
  

第五讲 获取文件的各种信息及跳到指定行或对向括号,及缩进方法
1. 获取当前文件名称,行列号,百分比,总行数等
 C+G 获取文件名,光标所在行号,列号,光标所在行占总行数百分比,文件状态,总行数
2. 跳到指定行的几种方法
 333+G, 可跳到333行
 :333 也可跳到333行
3. 跳到各种括号的另一半
 % 可将光标移动到(),[],{}在另一半上,需先将光标移动到其它一括号上

4. 缩进的几种方法
 1)数字+<</>> 将光标行与向下数字行进行向右/左缩进,如:
  2>>   //将光标所在行及下一行向右缩进
  5<<   //将光标所在行及下4行一共5行左缩进
   注:大于小于符号要按两次
 2)进入可视模式手动选择多行来缩进:按V进入可视模式,这里左下角显示--VISUAL--,然后再通过h,j,k,l,$,0来选择文件的部分内容,再按两次<或>进行缩进


第六讲 搜索,替换,取消高亮
1. 普通模式下按/或?进入,//类似按:一样也可进入命令行模式,从光标开始按n搜索下一个,按N搜索上一个
 注:搜索命令不需要先按冒号:
 / 从光标开如向后搜索,n向后的下一个,N为向前的下一个
 ? 从光标开始向前搜索,n向前的下一个,N为向后的下一个
2. 取消搜索字符的高亮,输入:nohl, //相当于no High light
3. 搜索特殊字符:. * [ ] ^ % / ? ~ $ 这10个特殊字符有特殊意义,搜索时要在前输入反斜杠,如: /\? 搜索?号
4. 替换命令
 :s/old/new  将光标所在行第一old替换为new
 :s/old/new/g 将光标所在行所有old替换为new
 :5,13 s/old/new/g 将5到13行所有old替换为new 
 :%s/old/new/gc 替换时询问是否替换,当找到后下边会提示:replace with 0 (y/n/a/q/l/^E/^Y
  y表替换,n表不替换,a表替换所有,q表放弃替换,l表替换第一个并进入插入模式,^E表用C+E滚动屏幕,^Y表用C+Y滚动屏幕
  替换文件中所有用这种,最后选a就可以了
  

第七讲 vi中执行shell命令,文件另存为,合并,打开多个文件及多文件退出
1. 加感叹号可直接在vi中执行shell命令,如:
 注:按:进入命令模式,按!+shell命令,vim将临时跑到shell,再按Enter回到vim
 :!ls/ //显示/目录下的文件
 :!ls/home //显示/home目录下文件
 
2. 文件另存为 :w test2  //将当前文件另存为test2
3. 将文件中部分内容另存为:
 按V进入可视模式,这里左下角显示--VISUAL--
 再通过h,j,k,l,$,0来选择文件的部分内容
 再按:号,下下角出现:'<,'>
 在:'<,'>后面输入 w test2
4. 合并文件,在打开的文件中加入另一个文件
 :+r+文件名,冒号进入命令模式,再输入 r+文件名
5. 打开多个文件,
 语法:vim -o/O 多个文件名,o表多个文件垂直并排,O表多个文件水平排列,如: 
  vim -o filename1 filename2 filename3 //垂直并排打开这三个文件
  vim -O filename1 filename2 filename3 ///水平并排打开这三个文件
 打开的多个文件间切换:C+W+W或C+W+(方向键或hjkl) //注:是Ctrl键,而不是shift键
 多个文件的退出::qa :qa! wqa //跟单个文件退出相比,只是多加了个a,表all