宁睿 发表于 2024-9-12 06:56:59

Linux编辑器-vim使用

目录
1.vim的基本概念
2.vim基本利用 
进入/退出vim 
 插入模式
3.下令模式
1.光标的移动 
​编辑
2.复制和粘贴
复制
粘贴 
 3.剪切加删除
剪切:
删除:
 4.撤销与规复
5.替换字符
​编辑
6.批量化解释和批量化去解释
 5.底行模式  
1. 列出行号
​编辑
2.查找字符 
3.外部下令
​编辑
4.多文件利用
 6.替换内容
6.异常退出 
https://i-blog.csdnimg.cn/direct/6d5e1c6475db4fbb8365a4f7f8cd8f17.png

1.vim的基本概念

   

[*]vi/vim的区别简朴点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不但兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化利用不但可以在终端运行,也可以运行于x window、 macos、windows。
[*]vim具有三种模式:下令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
正常/平凡/下令模式(Normal mode) 
   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,大概到 last line mode。
插入模式(Insert mode) 
   只有在Insert mode下,才可以做文字输入,按「ESC」键可回到下令行模式。
底行模式(last line mode) 
   文件保存或退出,也可以进行文件替换,找字符串,列出行号等利用。 在下令模式下,shift+: 即可进入该模式。
 https://i-blog.csdnimg.cn/direct/451d64035ad84c6ebd7477cdb549dbaa.png
2.vim基本利用 

进入/退出vim 

进入vim
   vim+文件名 进入该文件的编辑界面。
https://i-blog.csdnimg.cn/direct/a9a83dda4d1e4e2ca867b396e4be85a5.png
https://i-blog.csdnimg.cn/direct/b324b30e451e480697a3d52f7c431fea.png
 退出vim
   esc + :切换值下令模式,输入想要的指令退出。
选项阐明w保存q退出!强制wq保存并退出q!不保存,强制退出wq!保存并强制退出(最高权限者强制写入只读文件) https://i-blog.csdnimg.cn/direct/5e0bc65c3e6344388f512d09dff6881d.png
   shift + zz 保存退出 
 插入模式

   在文件的编辑页面,按 i 进入插入模式
光标表示当前插入位置 
https://i-blog.csdnimg.cn/direct/a4d7edf8093a4266965ad646757a344a.png
 这些是常见的按键进入插入模式
i在光标所在字符的前面开始插入I在光标所在行的头部开始插入,若头部有空格则在空格后插入a在光标所在字符的后面开始插入A在光标所在行的末端开始插入o在光标所在行的下一行开始插入O在光标所在行的上一行开始插入s删除光标所在后面的一个字符,并在此插入        S删除光标所在行并开始插入 3.下令模式

以下利用都是基于vim下令集:
1.光标的移动 

https://i-blog.csdnimg.cn/direct/99e4f71db561406290f9f47c5a2a7d17.png

移动光标指令
h将光标向左移动(前面可带数字)j将光标向下移动(前面可带数字)k将光标向上移动(前面可带数字)l将光标向右移动(前面可带数字)w以单词为单元进行光标后移e光标跳到下个字的字尾b以单词为单元进行光标前移^将光标移动到光标所在行的开头$将光标移动到光标所在行的末端gg将光标移动到当前文件的首行shitf+g将光标移动到当前文件的尾行数字 + shift+g将光标移动到指定行ctrl+b屏幕往“后”移动一页ctrl+f屏幕往“前”移动一页ctrl+u屏幕往“后”移动半页ctrl+d屏幕往“前”移动半页 2.复制和粘贴

复制

   

[*]复制单行:yy,复制当前光标所在行
[*]复制多行:数字 + yy,从光标指定行开始向下复制指定行数。
粘贴 

   

[*]粘贴单次:p,从光标当前所处位置的下一行开始粘贴。
[*]粘贴多次:数字 + p,将复制的内容粘贴指定次。
https://i-blog.csdnimg.cn/direct/044e69695d4e45fca325b4b9b51302b3.png
 3.剪切加删除

   

[*]数字 + dd:剪切/删除指定行、连续的多行
剪切:

   

[*]10dd+p(剪切10行然后复制)
https://i-blog.csdnimg.cn/direct/0ce81cb7289a445c906f829592b2a604.png https://i-blog.csdnimg.cn/direct/8627de967c0b45bea62c0590b3b360e5.png
删除:

剪切完不复制(p)就是删除了。  
https://i-blog.csdnimg.cn/direct/8dd3d8ee6f1748cfaba604984493ff23.png
行内今后局部删除
   

[*] x:删除光标后面的一个字符。
[*] 数字 + x:在一行内,删除从光标处开始今后的 n 个字符。

https://i-blog.csdnimg.cn/direct/528ba78477f74ff2b86b08776672da6f.png 行内往前局部删除
   

[*]X:删除光标前面的一个字符。
[*]数字 + X:在一行内,删除光标前的 n 个字符
https://i-blog.csdnimg.cn/direct/c52d2a1916574ce9b25a1f7b008c2a6c.png
 4.撤销与规复

撤销
   

[*]u:撤销上一步执行的利用,类似于 Windows 的 ctrl + z
规复
   

[*]ctrl + r:取消之前执行的撤销利用,类似于 Windows 的 ctrl + y
5.替换字符

   数字 + r + 想替换字符  对光标指定的位置,进行一个字符的低缓,可以一次替换多个。
    shift + r + 想替换字符  进入替换模式,直接进行文本替换
https://i-blog.csdnimg.cn/direct/6ce00814ff5142e7ba4d1aacc53ac769.png

6.批量化解释和批量化去解释

批量化解释
   1.进入视图模式



[*] 按住ctrl + v
    2.地区选择


[*]h、j、k、l、进行地区选择
[*]数字 + shift + g 选中连续的指定行数
[*]shift + g 从光标开始到末端全部选中
    3. 进入插入模式打上解释


[*] shift +i 进入插入模式并打上解释
    4. 批量解释


[*]按住Esc
批量解释演示 
ctrl + v 进入视图模式,然后数字 + shift + g 选中连续的指定行数。
https://i-blog.csdnimg.cn/direct/444a1314990e4ebb871de60eb1ac8482.png
 shift +i 进入插入模式并打上解释。
 ​​​​​https://i-blog.csdnimg.cn/direct/342ba3df4bf14f3e9abd638f4ba95ad1.png
再按Esc就能批量化解释了
https://i-blog.csdnimg.cn/direct/b9ebcaf0eaa742fdb9ee59365daa6f7f.png 批量化去解释
   1.进入视图模式


[*]ctrl + v
    2.选择解释范围


[*]h、j、k、l、进行地区选择
[*]数字 + shift + g 选中连续的指定行数
[*]shift + g 从光标开始到末端全部选中
    3.批量化去解释


[*]按 d 
留意事项:解释是两个字符单元,要确保选择去解释的范围 / / 选择到。 
https://i-blog.csdnimg.cn/direct/604f0b73e56e40f3868e2d6107f59a68.png 
 5.底行模式  

 之前的退出就是底行模式
选项阐明w保存q退出!强制退出wq保存并退出q!不保存,强制退出wq!保存并强制退出(最高权限者强制写入只读文件) 1. 列出行号

   set nu : 输入「set nu」后,会在文件中的每一行前面列出行号 
    set nonu :输入「set nu」后,会在文件中的每一行前面列出行号 
https://i-blog.csdnimg.cn/direct/e45811feb02d40b6af554c820b31a3f5.png

2.查找字符 

   

[*]/关键字:今后查找第一个匹配的关键字。
[*]?关键字:往前查找第一个匹配的关键字。
https://i-blog.csdnimg.cn/direct/5fb7603fdb5e4a4f86cc4196e6f30e42.png
3.外部下令

   

[*]可以不退出 vim 在下令行执行基本利用指令。
[*]在 vim 界面的底行模式可以使用 ! 指令 的方式调用外部下令,enter回车键返回vim编辑界面。
https://i-blog.csdnimg.cn/direct/540716cc9a8f46259459d93371aee62c.png
https://i-blog.csdnimg.cn/direct/ff642cf3fdcf4468b421d4748b9bd6ee.png

4.多文件利用

   

[*]在当前文件工作时,vim 不能像 vs 那样直接切换到其他文件进行利用 。
[*]此时可以使用 vs 文件名,分屏打开其他文件进行利用。
https://i-blog.csdnimg.cn/direct/9307dcc2105d49b086ab5e0c49866278.png
https://i-blog.csdnimg.cn/direct/ecc6fd32877e4cb5958e59929f59bfac.png
   

[*]光标在哪个分屏就是在哪个分屏利用。
[*] ctrl + ww 可以切换分屏光标,进行另一个分屏的利用。
 6.替换内容

   
[*]s/搜刮的内容/指定内容:用指定内容替换 光标所在行第一个 被搜刮到的内容。
[*]s/搜刮的内容/指定内容/g:用指定内容替换光标所在行全部 被搜多到的内容。
[*]%s/搜刮的内容/指定内容:用指定内容替换 整个文件每一行第一个 被搜刮到的内容。
[*]%s/搜刮的内容/指定内容/g:用指定内容替换 整个文件 被搜刮到的内容。
 替换多段雷同内容 
https://i-blog.csdnimg.cn/direct/3b416bddc8a04d35ba5d9dbcc320c259.png https://i-blog.csdnimg.cn/direct/cb4e991ed15441caa3e10e873d1589a3.png
6.异常退出 

   

[*]编辑中的文件未保存直接退出就是异常退出。
[*]见的最多的异常退出就是在下令模式下不小心 ctrl + z 之后,之后再打开文件就会出现以下情况。
https://i-blog.csdnimg.cn/direct/1bc32b308b5b4af1909aba520e92a529.png


[*] (O)pen Read-Only: 打开此档案成为只读档, 可以用在你只是想要查阅该档案内容并不想要进行编辑举动时。
[*] (E)dit anyway:**还是用正常的方式打开你要编辑的那个档案, 并不会载入暂存盘的内容。不过很容易出现两个使用者相互改变对方的档案等问题!
[*] ( R )ecover: 就是加载暂存盘的内容,用在你要救回之前未储存的工作。 不过当你救回来并且储存脱离 vim 后,还是要手动自行删除那个暂存档喔!
[*] (D)elete it: 你确定那个暂存档是无用的!那么开启档案前会先将这个暂存盘删除! 这个动作其实是比力常做的!因为你可能不确定这个暂存档是怎么来的,所以就删撤除他吧!
[*] (Q)uit: 按下 q 就脱离 vim ,不会进行任何动作回到下令提示字符。
[*] (A)bort: 忽略这个编辑举动。
 暂时解决
   

[*]按下 q 之后出现以下信息,输入 E 大概 R 就能进入文件,但是之后还是会出现该提示。

https://i-blog.csdnimg.cn/direct/e9ba6b6c71d64d14bdb321b2e9f9dd07.png
永世解决
    用rm删除缓存文件
之前异常退出系统给我们缓存了一个潜伏文件,异常提醒时已经告诉我们名字了。
https://i-blog.csdnimg.cn/direct/f816efff1b3a4c3ba364c8efcae7aa94.png https://i-blog.csdnimg.cn/direct/51dd11b642404c4ba2a213c299a1ab8c.png
 我们将它删除就行了。
https://i-blog.csdnimg.cn/direct/3c548982246149818f7b740ade856d8f.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux编辑器-vim使用