加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

linux系统下文本编辑器vim的应用方法

发布时间:2023-07-11 15:06:34 所属栏目:系统 来源:
导读:这篇文章主要介绍了linux下文本编辑器vim的使用方法,包括复制、粘贴、替换、行号、撤销、多文件操作,需要的朋友可以参考下

  文本文件的编辑命令:vim

1、vim的三种状态模式

  1)命令模式(默认)
这篇文章主要介绍了linux下文本编辑器vim的使用方法,包括复制、粘贴、替换、行号、撤销、多文件操作,需要的朋友可以参考下
 
  文本文件的编辑命令:vim
 
1、vim的三种状态模式
 
  1)命令模式(默认)
 
  备注:命令模式下输入“:q!”可以退出vim。
 
  2)可编辑模式(通过命令模式下输入小写“i”进入可编辑模式;按Esc退出至命令模式)
 
  备注:小写i,在当前光标处插入;小写a,在当前光标后插入。
 
  3)末行模式(通过命令模式下进入,按Esc退出至命令模式)
 
  作用:在文件的最后一行执行非文本编辑命令,保存、打开文件,写文件名等。
 
  例如“:w”的作用是,填写文件名;
 
  例如“:wq”的作用是,填写文件后保存并退出;
 
  例如“/”,从上往下查找;
 
  例如“?”,从下往上查找;
 
2、vim的基本操作
 
  1)打开文件
 
 
 
  vim 文件名即可打开并进入命令模式。
 
  2)编辑文件
 
  命令模式下,输入小写i即可进入编辑模式;
 
  3)保存文件并退出
 
 
 
  编辑完成后,按Esc返回命令模式,输入“:w”(没有文件名的话添加文件名);
 
  再输入:q即可退出。
 
  3、vim的编辑操作(在命令模式下)
 
1)复制操作
 
  小写“yy”复制单行;
 
  “2yy”复制光标处2行;
 
  ……
 
  “nyy”复制光标出n行。
 
2)粘贴操作
 
  小写“p”粘贴到当前光标的下一行;
 
  大写“P”粘贴到当前光标的下一行;
 
3)删除操作
 
  “dd”删除当前行
 
  “2dd”删除光标处当前两行;
 
  ……
 
4)增行操作open
 
  小写“o”,在当前光标处的下一行插入空行;
 
  大写“o”,在当前光标处的上一行插入空行;
 
  4、vim的查找替换操作(在末行模式下)
 
1)查找操作
 
  作用:查找包含关键字的行;
 
  在命令模式下输入“/查找对象”,即可从上往下查找,按n查找(next);
 
 
 
  在命令模式下输入“?查找对象”,即可从上往下查找,按n查找(next);
 
2)替换操作
 
行替换
 
  :s/被替换对象/新对象/gc,提示后按y即完成替换。
 
全文替换
 
  :%s/被替换对象/新对象/gc,分别按行提示后按y即完成替换。
 
  输入:wq(保存并退出)。
 
  5、vim的高级操作1)行号的设置
 
  在末行模式下输入“:set nu”即可显示文件的行号;
 
 
 
  在末行模式下输入“:set nonu”即可关闭显示文件的行号;
 
  vi ~/.vimrc
 
  2)~/.vimrc的编辑设置
 
  3)多文件的并发操作
 
该操作便于多文件相互复制粘贴等。
 
  命令:vim 文件名1 文件名2 文件名3……
 
  命令:“:args”在底部显示当前打开的多个文件的名字,【当前文件的名字】;
 
  命令:“:next”切换显示下一个文档;
 
  命令:“:prev”切换显示上一个文档;
 
  命令:“:first”切换显示第一个文档;
 
  命令:“:last”切换显示最后一个文档。
 
  4)操作的撤销与恢复
 
  备注:无论是u撤销,还是ctrl+r恢复,前提要是文件不能执行了保存。
 
小写u
 
  :change before(按行,分步骤以时间轴为单位撤销最近的动作)直至already at oldest change(可撤销多步);
 
大写U
 
  :仅撤销一步操作;
 
Ctrl+r
 
  :change after (按行,分步骤以时间轴为单位恢复被撤销的动作)直至already at oldest change;
 
Ctrl+R
 
  :恢复被撤销的,一步到底;
 
linux 下 vi 文本编辑如何复制一行粘贴删除一行数据
 
  在使用vi有时会想直接复制一行数据,然后粘贴一行或者直接删除一行数据
 
  复制一行数据的方法
 
  把光标放到要复制的一行前面,然后按两下yy字母键
 
  然后把光标放到要复制到的地方去,按键盘的p字母键
 
  删除一行是把光标移动到要删除的一行上,按两下dd键
 
  下面是相关键的说明:
 
  x,X : 在一行中,x为向后删除一个字符(相当于del键),X为向前删除一个字符(相当于backspace键)。
 
  dd : 删除光标所在的那一整行。
 
  ndd : n 为数字。从光标开始,删除向下n列。
 
  yy : 复制光标所在的那一行。
 
  nyy : n为数字。复制光标所在的向下n行。
 
  p,P : p 为将已复制的数据粘贴到光标的下一行,P则为贴在光标的上一行。
 
  u : 复原前一个操作
 
  CTRL + r : 重做上一个操作。
 
  小数点'.': 重复前一个动作。
 
vim常用命令(删除、复制、粘贴、撤销、查找、插入、光标移动、选择、保存、退出)
 
  vim基本操作:
 
  选择文本
 
  v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
 
  V 从光标当前行开始,光标经过的行都会被选中,再按一下V结束。
 
  ctrl+v 从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束。
 
  ggVG 选中全部的文本,其中gg为跳到行首,V为选中整行,G为末尾
 
  删除,复制,粘贴,撤销
 
  d 删除 dd 删除整行 ndd 删除n行
 
  x 删除一个字符
 
  u 撤销上一次操作
 
  ctrl+R 反撤销(撤销撤销操作)
 
  y复制 (复制到寄存器)
 
  p粘贴 (默认从寄存器取出)
 
  常用 先是ESC
 
  i 光标前插入文本
 
  a 光标后插入文本
 
  o 在下面另起一行,并使当前模式转为Insert模式
 
  O(大写O) 将在当前行的上面另起一行
 
  :q 退出
 
  :q! 强制退出
 
  :wq 保存并退出
 
  ZZ 保存并退出
 
  / 简单搜索 /pp 在文件中搜索pp
 
  移动命令
 
  $ 将光标移动到行尾 2$ 移动到下一行的行尾 n$ 移动到下n行的行尾
 
  ^ 将光标移动到当前行第一个非空白字符上
 
  0(数字0) 将光标移动到当前行的第一个字符上
 
  G 将光标移动到最后一行。 33G 将光标移动到33行
 
  gg 跳到第一行
 
Vim 全选复制粘贴 撤销 回退 操作
 
  全部删除:按esc键后,先按gg(到达顶部),然后dG
 
  全部复制:按esc键后,先按gg,然后ggyG
 
  全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG
 
  单行复制:按esc键后, 然后yy
 
  单行删除:按esc键后, 然后dd
 
  粘贴:按esc键后, 然后p
 
  复制到粘贴板: 全选高亮显示之后,ctrl+shift+c,
 
  vim只能粘贴50行的问题:
 
  在当前用户主目录编辑~/.vimrc(如果不存在,新建这个文件),添加一行
 
  :set viminfo='1000,<500
 
  至于为什么要输入输入’1000,这个其实不重要,最主要的是输入<500,它是设置寄存器保存的行数的。即最大值为 500
 
  在vim中按u可以撤销一次操作
 
  u 撤销上一步的操作
 
  Ctrl+r 恢复上一步被撤销的操作
 
  注意:
 
  如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。
 
  重做
 
  如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:
 
  young intelligent turtle
 
  有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行
 
  上的操作。 输入这些命令两次取消前一个“U”:
 
  A very intelligent turtle
 
  xxxx 删除very
 
  A intelligent turtle
 
  xxxxxx 删除turtle
 
  A intelligent
 
  用“U”恢复行
 
  A very intelligent turtle
 
  用“u”撤销“U”
 
  A intelligent
 
  “U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用
 
  担心,用“u”和CTRL-R命令你可以切换到任何状态。
 
  流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动。在 vim 中使用 Ctrl-O 执行后退,使用 Ctrl-I 执行前进。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!