ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vim编辑器用法秘籍

2022-01-22 13:32:20  阅读:163  来源: 互联网

标签:文件 set 秘籍 ctrl 模式 vim 编辑器 光标


模式介绍

Linux最小化安装时需要先安装vim编辑器:yum install vim。

vim共分为三个模式:分别是一般命令模式编辑模式命令行模式

一般命令模式:

用户启动vim编辑器,初始就是一般命令模式,可以删除字符、复制粘贴处理内容,不能够输入字符,输入的字符会被当做一个命令。

编辑模式:

一般命令模式按下【i,I,o,O,a,A,r,R】等任何一个字母都会进入编辑模式,左下角会出现insert或replace标志, 此时才可以编辑字符,按下ESC回到一般命令模式,退出编辑。

命令行模式:

在一般命令模式按下【:,/,?】进入 命令行模式,该模式可以查找数据、读取保存数据、退出vim编辑器、显示行号等操作。

模式按键

一般命令模式按键说明

移动光标的方法:

  • ↑↓←→:移动光标,可以使用30↑组合,向上移动30行
  • pageup、pagedown:移动一页
  • 数字0或Home:移动到当前行行首
  • 符号$或End:移动到行尾
  • G:移动到文件的最后一行
  • nG:n为数字,移动到指定行
  • gg:移动到文件的第一行,相当于1G
  • n<Enter>:光标向下移动n行,等于↓n

上下左右的箭头可以使用hjkl代替

查找与替换:

  • /word:向下查找
  • ?word:向上查找
  • n、N:n重复查找的操作,顺着查找顺序,N反序查找

删除复制与粘贴:

  • x、X:x相当于【del】向后删除,X相当于【backspace】向前删除
  • nx、nX:n为数字,nx向后删除n个字符,nX向前删除n个字符
  • dd:剪切光标所在行
  • ndd:剪切关闭所在位置下面的n行
  • yy:复制光标所在行
  • nyy:复制光标所在的向下n行
  • p、P:p在光标的下一行粘贴,P在光标的上一行粘贴
  • u:恢复前一个操作,撤销
  • ctrl+r:重复上一个操作

编辑模式常用按键

一般命令模式切换到编辑模式按键:

  • i与l:进入插入模式,i为当前光标处插入,I为光标所在行行首插入
  • a与A:进入插入模式,a为光标所在下一个字符处开始插入,A为本行最后一个字符开始插入
  • o与O:进入插入模式,o为光标所在处下方插入新的一行插入,O为光标所在处的上一行插入新的一行开始插入
  • r与R:进入替换模式,r只能替换一次,R一直替换直到按ESC

命令行模式

  • :w:将编辑的数据写入磁盘文件中
  • :w!:当文件为只读时,强制写入该文件,但如果当前用户权限不够也写不进去
  • :q:退出vim
  • :q!:修改过文件但是不想保存,!为强制退出不保存
  • :wq:保存退出
  • :wq!:强制保存退出
  • :w [filname] :另存为另一个文件
  • :r [filename] :读入另一个文件的数据,放到光标所在行后面
  • :set nu:显示行号
  • :set nonu:取消行号
  • :! command:暂时离开vim编辑,可以去执行其他的命令

vim的缓存

在我们用vim编辑文件时,和Windows一样,也会生成一个隐藏的缓存文件,该文件名为.filename.swp,就存在当前编辑的文件目录下,出现不正确的退出vim(如宕机)时或有文件编辑冲突时该文件还会保存,当你下次打开该文件时会出现如下提示: 

选择一个, 然后再把缓存文件删除即可。

可视区块

以块或矩形的方式进行选择和复制粘贴等操作。

在一般命令模式:

  • v:字符选择,光标经过的地方都会被选择或反选择
  • V:行选择,光标经过的行都会被选择或反选
  • ctrl+v:以矩形的方式进行选择或反选
  • y:将选中的区域复制起来
  • d:将选择的区域删除
  • p:将刚刚复制的区块,在光标处粘贴

多文件编辑

有时候需要复制一个文件的内容时可以使用多文件编辑操作(因为开启多个vim不能互相复制),使用vim filename1 filename2 ……来打开多个文件。

  • :files:可以查看当前正在编辑哪些文件
  • :n:编辑下一个文件
  • :N:编辑上一个文件

去编辑下一个文件时需要保存当前文件,可以使用!不保存强制转到下一个文件。

多窗口编辑

在一个vim编辑器中打开多个窗口,可以是本文件也可以是其他文件。

  • sp [filename]:打开一个新窗口,省略filename就是打开的现在编辑的文件,加filename就是其他文件
  • ctrl+w再+↓:先按ctrl+w松手,再按下箭头,则光标移动到下面的窗口
  • ctrl+w再+↑:光标移动到上面的窗口
  • ctrl+w再+q:删除当前光标所处的窗口

关键字补齐

使用ctrl+x 再按 ctrl+n可以根据当前编辑的文件内容补齐

使用ctrl+x 再按 ctrl+o可以以扩展名为语法进行补充

环境设置

常用设置:

  • :set nu和:set nonu:行号设置
  • :set autoindent和:set noautoindent:自动缩进设置,默认不会自动缩进
  • :set nu和:set nonu:行号设置
  • :set all:显示所有的环境设置
  • :set:显示与系统默认值不同的环境设置
  • :syntax on和:syntax off:是否根据语法显示不同的显色,默认开启
  • :set bg=dark和:set bg=light:更改字体的颜色样式

这些设置都是一次性的,想要永久生效需要更改/etc/vimrc文件(需要使用管理员身份)

 上面的是全局的生效,如果只想让当前用户生效,可以在家目录新建一个.vimrc的文件,在里面写配置也能生效。

可以在网上搜索一些vim的环境配置,使vim更方便

快捷键设置:

  • :map 快捷键  快捷键执行的命令:自定义快捷键
    • 如:map ^_  I#<ESC>:设置ctrl+/设置当前行首加上#,即注释,快捷键那一行直接输入键盘的键,而不是输进去的,快捷键不能冲突
    • 如:map ^B ^x 表示按ctrl+b时删除本行的第一个字符,取消注释,^x的^是正则表达式

乱码问题

windows一般使用的是GBK编码,而Linux可以通过locale查看编码,一般都是UTF-8编码

解决方法:

1.iconv命令转码

  • -f:原始文件编码格式
  • -t:输出编码格式
  • -o:输出文件名

 iconv -f gb2312 -t utf8 aaa.txt -o bbb.txt:把原始文件aaa.txt的gb2312编码转为新文件bbb.txt的utf-8文件(注意是utf8不是utf-8)

2.在windows上另存为,转编码格式为utf-8

windows的换行符比Linux的多了一个^M,会出现错误。

解决方法:

1.在vim中:set ff=unix

2.安装dos2unix工具,用命令dos2unix  文件名

反过来,把linux下写的脚本,在win上打开,就没的换行的,解决办法:

1、安装dos2unix工具,在传回win前,用命令unix2dos 文件名 

dos2unix需要自行安装,yum install dos2unix

标签:文件,set,秘籍,ctrl,模式,vim,编辑器,光标
来源: https://blog.csdn.net/weixin_45902285/article/details/122619413

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有