Linux命令行下的vim文本编辑器

Linux命令行下的vim文本编辑器

vim文本编辑器是一个非常强大的工具,可以做很多事情,比如新建文件,打开文件,编辑文件,保存文件,同时打开多个文件等。下面总结一些常用的vim 编辑器命令:

1. 进入vim编辑器的方式:(进入vim编辑器时,默认的模式是“命令模式”) 在终端输入

vi:进入vim编辑器

vi filename:进入vim编辑器,新建了一个filename文件,光标定位到文件的第一行

vi在工作时,会在当前目录下创建.swp的临时文件,该临时文件也称为交换文件

当vi结束对当前文件编辑且正常退出时,临时文件.swp会被自动删除

当vi结束对当前文件编辑且非正常退出时,临时文件.swp会被残留下来

vi + filename:进入vim编辑器,打开已存在的filename文件,光标定位到文件的最后一行

vi在工作时,会在与被编辑文件相同的目录内创建一个名为.filename.swp的临时文件

当vi结束对当前文件编辑且正常退出时,临时文件.filename.swp会被自动删除

当vi结束对当前文件编辑且非正常退出时,临时文件.filename.swp会被残留下来

vi +# filename:进入vim编辑器,打开已存在的filename文件,光标定位到文件的第#行(#必须用数字代替)

vi -R filename:进入vim编辑器,以只读方式打开已存在的filename文件,被编辑的文件不能回存,但可以另存为

vi -r filename:从vi crash或非正常退出中恢复文件

vi -r .*.swp:从交换文件.*.swp中恢复文件

vi -r:列出当前目录内所有因vi非正常退出而残留的交换文件,以便恢复

vi -L:列出当前目录内所有因vi非正常退出而残留的交换文件,以便恢复

2. vi有三种工作方式: 命令模式编辑模式命令项模式

命令模式:在这种模式下,可以通过输入vi的命令对文件的内容进行处理(复制、删除、移动等),也可以通过按光标键来移动光标。

编辑模式:在这种模式下,可以在光标处输入内容。

命令项模式:在命令模式下,用户输入冒号后,光标会跳到底行,然后输入命令。

命令模式 --> 输入a、A、i、I、o、O等命令 --> 编辑模式

编辑模式 --> 按ESC键 --> 命令模式

命令模式 --> 输入冒号 --> 命令项模式

3. 退出vi的命令

在命令模式下,输入:

:w 保存文件,不退出vi

:w filename 把vi中的内容保存到不存在的filename文件,不退出vi

:w! filename 把vi中的内容保存到已存在的filename文件,不退出vi

:w>>filename 把vi中的内容追加到filename文件,不退出vi

:n1,n2w filename 把n1行到n2行的内容保存到不存在的filename文件

:n1,n2w! filename 把n1行到n2行的内容保存到已存在的filename文件

:wq 保存文件,退出vi

:x 保存文件,退出vi

:ZZ 保存文件,退出vi

:q 不保存文件,退出vi(若文件已改变,则不能退出)

:q! 不保存文件,退出vi

:ZQ 不保存文件,退出vi

4. 在命令模式下,可以输入以下命令:

(1)光标移动命令

h: 左

l: 右

k: 上

j: 下

向左光标键

向右光标键

向上光标键

向下光标键

(2)插入命令

i:在光标处插入内容

I:在第一行插入内容

a:在光标后插入内容

A:在当前行的尾部插入内容

o:在当前行的下面插入新行

O:在当前行的上面插入新行

(3)删除命令

x:删除光标处的字符

X:删除光标前的一个字符

d0:删除从当前光标所在行的第一个字符到当前光标的前一个字符的一串字符

D:删除从当前光标所在的字符到当前光标所在行的最后一个字符的一串字符

dd:删除光标所在行的所有字符

dw:删除从光标处字符开始的一个单词

例如:a boy girl pig

如果光标在l处,dw后,结果是:a boy girpig

如果光标在l和p之间的空格处,dw后,结果是:a boy girlpig

如果光标在b处,dw后,结果是:a girl pig

#dd:删除从光标所在的行到其后的#-1行(#必须用数字代替)

#x:删除从光标所在的字符开始的#个字符(#必须用数字代替)

:n1,n2 d:删除n1行到n2行的内容

(4)复制命令

:n1,n2 t n3:把n1行到n2行的内容复制到第n3行的下一行

(5)移动命令

:n1,n2 m n3:把n1行到n2行的内容移动到第n3行的下一行

(6)修改/替换命令

r:输入一个字符替换光标处的一个字符

R:从光标处的字符开始替换,后面的字符一个一个被输入的字符覆盖

s:输入一串字符来替换光标处的字符

S:先清除光标所在的行,你可以在当前行输入一串字符

cc:先清除光标所在的行,你可以在当前行输入一串字符

cw:修改一个单词

例如:ab cdef ghijk

光标在d处,输入cw后,结果是:ab cde$ ghijk,

此时若输入pqghd后,结果是:ab cpqghd ghijk

此时若输入p后按ESC键,结果是:ab cp ghijk

C:修改从光标处开始及其该行后面的部分

例如:ab cdef ghijk

光标在d处,输入cw后,结果是:ab cdef ghij$,此时输入pqghd后,结果是:ab cpqghd

(7)光标定位命令

0:定位到光标所在行的行首

$:定位到光标所在行的行末

:#:定位到第#行的行首

:$:定位到最后一行的行首

/exp:向后定位到字符串exp

?exp:向前定位到字符串exp

/^exp:定位到行首为字符串exp的行

/exp$:定位到行末为字符串exp的行

n,m ?/exp:从n行到m行向前搜索字符串exp (此命令有待商榷)

n,m |/exp:从n行到m行向前搜索字符串exp (此命令有待商榷)

(8)搜索替换命令

:s/exp1/exp2/g:将当前行的字符串exp1替换成字符串exp2

:n,m s/exp1/exp2/g:将n行到m行的字符串exp1替换成字符串exp2

:g/exp1/exp2/g:将当前行的字符串exp1替换成字符串exp2

:g/exp1/s//exp2/g:将全文中的字符串exp1替换成字符串exp2

(9)撤销命令

u

(10)缓冲区命令

默认情况下,vi使用无名缓冲区,例如:虽然将文件的某些部分删除了,但仍可以用u命名进行撤销。

yy:将光标所在的行放入无名缓冲区

Y:将光标所在的行放入无名缓冲区

p:将缓冲区中的内容粘贴到光标所在的行的下一行

P:将缓冲区中的内容粘贴到光标所在的行的上一行

"#yy:将光标所在的行放入缓冲区# (#必须用a~z代替)

"#p:将缓冲区#中的内容粘贴到光标所在的行的下一行 (#必须用a~z代替)

"#P:将缓冲区#中的内容粘贴到光标所在的行的上一行 (#必须用a~z代替)

"#d:删除当前行,将当前行的内容放入缓冲区#

(11)其它命令

:set nu:显示行号

:set nonu:取消行号

:n 定位到下一个文件

:N 定位到上一个文件

vi 1.c 2.c 3.c:一次打开3个文件

首先会打开1.c,输入:n命令后,会打开2.c,再输入:n命令后,会打开3.c,

再输入:N命令后,会打开2.c,再输入:N命令后,会打开1.c。

Ctrl+G:显示当前编辑文件的信息

Ctrl+L:刷新屏幕

Ctrl+d:向后翻半屏

Ctrl+u:向前翻半屏

Ctrl+f:向后翻一屏

Ctrl+b:向前翻一屏

时间: 2024-12-24 14:54:26

Linux命令行下的vim文本编辑器的相关文章

Linux 命令行下的最佳文本编辑器

文本编辑软件在任何操作系统上都是必备的软件.我们在 Linux 上不缺乏非常现代化的编辑软件,但是它们都是基于 GUI(图形界面)的编辑软件. 正如你所了解的,Linux 真正的魅力在于命令行.当你正在用命令行工作时,你就需要一个可以在控制台窗口运行的文本编辑器. 正因为这个目的,兄弟连Linux培训专门准备了一个基于 Linux 命令行的文本编辑器清单. VIM 如果你已经使用 Linux 有一段时间,那么你肯定听到过 Vim .Vim 是一个高度可配置的.跨平台的.高效率的文本编辑器. 几乎

Linux命令行下编辑常用的快捷键

Linux命令行编辑快捷键: history                                   显示命令历史列表 ↑(Ctrl+p)                               显示上一条命令 ↓(Ctrl+n)                               显示下一条命令 !num                                     执行命令历史列表的第num条命令 !!                            

在mac上命令行里面如何打开文本编辑器?

在mac上命令行里面如何打开文本编辑器? 在linux命令行terminal上使用gedit直接就可以打开文本文件 那么在mac上面如何操作呢? 使用:open -a TextEdit settings.xml 参数说明:-a指定应用 也可以是:open -e settings.xml 参数说明:-e使用文本编辑器打开 也可以是:open -t settings.xml 参数说明:-t使用默认编辑器打开 原文地址:https://www.cnblogs.com/timxgb/p/9941745.

Linux命令行下cp,rm,mv命令的使用

以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制        cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件对比两文件的新旧而予以更新,        以及复制整个目录等        语法            cp [-adfilprsu] 源文件 目标文件                    源文件(source)                目标文件(destination)            选项

Linux命令行下svn ignore忽略文件或文件夹用法

Linux命令行下svn ignore忽略文件或文件夹用法 一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的,在服务器本地目录添加了material,但是不希望把material加入版本控制,因此我们需要忽略掉这个目录首先使用svn status命令查看当前状态[[email protected] oa.youxi.com]# svn status? htdocs/admin/adv/material 添加需要忽略的目录,貌似必须得进入该目录之

详解Linux命令行下常用svn命令

1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.Linux命令行下往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.Linux命令行下将改动的文件提交到版本库 svn commit -

Linux命令行下如何终止当前程序?

Linux命令行下如何终止当前程序? 快捷键: Ctrl+c 在命令行下起着终止当前执行程序的作用, Ctrl+d 相当于exit命令,退出当前shell Ctrl+s 挂起当前shell(保护作用很明显哦) Ctrl+q 解冻挂起的shell再不行就重新连接打开一个终端,reboot linux 或 kill 相关进程. 原文地址:https://www.cnblogs.com/pythonClub/p/10914338.html

Linux 下 vi/vim 文本编辑器超详细使用指南

Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能. 大多数的linux/unix 发行版本中都使用 vim 代替了原来的 vi 文本编辑器. 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了.如果是debian/ubuntu系统下,默认情况下,vim编辑器是不会被安装的.你需要在ubuntu系统下手动安装vim编辑. 更多关于vim

Linux 命令行下的好东西

  列举你可能没注意过的好用的 Linux 命令行命令 现在做网站做移动应用最讲究的就是推广了,推广做的好那就成功了一大半,相对的没曝光产品再好也很难做下去.就这个角度而言绝大多数 Linux 命令行的推广简直是烂透了.繁多 Linux 有用极了的命令行工具就静静的躺在你发行版默认安装的包裹里,很多时候只有当你碰到什么问题的时候网上搜一圈才能知道.更蛋疼的是这里面很多东西你一旦知道了就会想我靠原来没这个到底是怎么过的下去.所以这里我会列出一些我用过的一些,大部分发行版默认就有,或者能用包裹管理工