如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)

本篇文章给大家带来的内容是关于,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

vim清空文件内容 vim怎么清空文件vim清空文件内容 vim怎么清空文件


vim清空文件内容 vim怎么清空文件


1.vim的三种工作模式(vim是vi的增强版本)

命令模式

按ESC键后就会进入命令模式,命令模式下的常用作有/黏贴/删除/撤销等....

编辑模式

在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、

修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式

末行模式

在命令模式下按 : 即可进入末行模式

2.命令模式下的相关作

2.1 保存退出:shift + zz //但是空文件不会保存

2.2 代码的格式对齐:gg=G

2.3 光标的移动:

上下左右按键

hjkl:左下上右

行首行尾:0 和 $(shift+4)

文件首尾:gg 和 G

到指定行:行号+G

从当前行往后跳n行:n+enter

向后跳转一个单词:w

到下一行行首:enter

2.4 删除

删除一个字符:x

删除一个单词:dw

如果此时光标在单词的中间则只会删除单词的一部分

删除前半行:d0

删除后半行:d$(shift+4) 或者 D(shift+d)

删除整行:dd

删除n行:ndd

删除整篇文章:先将光标移动到一行 然后dgg

2.5 撤销和反撤销

撤销:u

反撤销:ctrl + r

2.6

一行:yy

n行:nyy

2.7 粘贴

粘贴到当前光标的下一行:p

粘贴到当前光标的上一行:P(shift+p)

替换单个字符:r

替换n个字符:R //ESC键退出替换

2.9 查找:

方法二:先按?(顺时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处

方法三:将光标移动到你要查找的单词上,然后按#(shift+3) 即可查找,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处

2.10 查找函数的用法(如同vs下的 f12)

将光标移动到你要查找的函数名上,然后按:章节号+K(shift+k),q键退出,在按enter键回到代码中

3.可视模式下的作:在命令模式下按 v 即可进入可视模式,再按一次退出可视模式

3.1 选中任意文本: 通过上下左右键或hjkl来选中文本

3.2 :y (一个y就够了,的就是3.1的结果)

3.3 删除和剪切:d(一个d就够了,删除的就是3.1的结果)

3.4 粘贴:这里的粘贴是在光标所在位置的前后不是光标所在行的上下

在光标位置之后粘贴:p

在光标位置之前粘贴:P(shift+p)

a:光标入

i:

o:打开新的一行

s:

5.末行模式:在命令模式下按::

5.1 保存退出:wq 或 x + enter

5.2 行跳转:n + enter

5.3 末行模式跳转到命令模式:两次ESC

5.4 替换:

替换光标所在行的个:s/old/new

替换光标所在行的所有:s/old/new/g

一个一个的替换,没替换一个就要询问一次:s/old/new/gc

替换指定多行的:n1,n2s/old/new/g

替换指定多行并询问:n1,n2s/old/new/gc

替换所有:%s/old/new/g

替换所有并询问:%s/old/new/gc

5.5 分屏:

水平分屏:sp

垂直分屏:vsp

分屏两个不同的文件:sp/vsp 文件名

屏幕切换:ctrl + ww

退出分屏:

q:退出当前

qall:退出多有

wq/wqall

5.5 末行模式下执行shell命令:!命令

6.vim同时打开多个文件

vim -o 文件1 文件2 文件3 //垂直分屏

vim -O 文件1 文件2 文件3 //水平分屏

7.vim配置文件

7.1 用户级别(优先级高)

~./vimrc //可能没有

7.2 系统级别(优先级低)

/etc/vimrc

7.3 vim配置

set nocompatible

set number

set autoindent

set artindent

set showmatch

set ruler

set incsearch

set tabstop=4

set shiftwidth=4

set softtabstop=4

se撤销作t cindent

set nobackundd:删除光标所在的向下n行。p

set clipboard+=unnamed

#自动补全

inoremap ' ''i

inoremap " ""i

inoremap [ []i

inoremap { {}O

vim中如何删除pass文件第1.5.10行。

# vim /etc/cron.d/backup

没法跳a) ls--查看文件/目录:着删。

这么设计的理由恐怕是出于效率考虑。因为 vim 的缓冲区是用面向行的链表实现的,所以不连续的作效率较低。懂算法的话应该不用多解释。

另外即使删三次也小心些。

因为删完行之后,原来的第5行就变成第4行了。再用 :5d 这样的命令可能就不是你想要的了。想减少麻烦可以倒着删,先删10。

如果需要反复跳删很多行,或者在很多文件上执行,可以用 vim-script 来做批处理。写代码时还是注意要倒着删。

vim查找命令

cat:查看文件内容。

命令模式下,按‘/’,然后输入要查找的字符,:1, 10 m 20 将第1-10行移动到第20行之后。Enter。?和/的区别是,一个向前(下)找,一个向后(上)。

另外,‘’可以查找当前光标下的word(完全符合),‘g’则部分符合,以#代替表示向后(上)找。

命令模式下,输入 /word 后回车,即查找word,

按 n 查找下一个匹配单词,按 N 查找上一个匹配单词。

在Linux系统上用vi打开文档添加内容后,用:wq保存退出时添加的内容自动了很多倍,这是什么原因吗

软连接:ln -s 123.sh ../ à ln -s 源文件 欲放置路径

应该是你作失误的原因吧

如果确实有这种情况请重新安装vi

U取消所有作

Ctrl+R可ssh:通过安全的方式远程登录到其他主机。以恢复对使用u命令的作

用vi或vim打开文件然后按 ctrl+u,解决了,希望能帮到你

git 删除branch用什么,命令

ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴

如果对git命令行不熟悉的话,用git图形界面工具,就比较合适了。建议使用tortoisegit这样的工具,命令行从学习到灵活掌握的时间成本比较高的。 1,添加 # git clone git@192, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! To git@192, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! remote: Counting objects: 5, done. remote: Compressing objects: (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: (3/3), done. From 192.168.10.202:dlop/test 367dad3..5e5640b -> origin/ Auto-merging test.txt CONFLICT (content): Merge conflict in test.txt Automatic merge failed; fix conflicts and then commit the result. # vim test.txt //修改冲突文件,并保存 # git commit -am "remove conflict" //重新提交到本地版本库 # git push //同步到远程

:set incsearch逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。

linux如何删除只读的文件系统?

777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有权限。

遇到同样的问题,无法删除只读文件。

出现这样的情况是因为u盘写入时拔出,然后就文件夹内的某一个文件就变成了只读文件,无法删除。

1、sudo rm -rf filename/

经过步后,文件夹内文件已全部删除,但是文件夹无法删除

2、vim fileD 删除当前字符至行尾。D=d$name

3、D 回车

4、输入filename

此时vim会提示50%无法删除

5、:q 退出

6、sudo rm -rf filename/

你只需要重新以读写的方式挂载根分区即可,命令如下:

mount -o remount,rw /

rm -rf /media/username/VMwareTools 即可,希望能帮到您。

Linux命令

Linux命令行是一种在Linux作系统中通过文本界面进行交互的方式。它是一种强大的工具,用于执行各种系统管理和配置任务,以及执行命令行工具和应用程序。

以下是一些常用的Linux命令行作:

m=0文件和目录作:

ls:列出当前目录下的文件和目录。

cd:切换目录。

mkdir:创建新目录。

rm:删除文件或目录。

cp:文件或目录。

mv:移动文件或目录。

文件查看和编辑:

grep:在文件中搜索指定的字符串。

less:按页查看文件内容。

vi或nano:文本编辑器,用于编辑文件内容。

系统管理:

sudo:以超级用户身份p 在当前光标后粘贴,如果之前使用了yy命令来一行,那么就在当前行的下一行粘贴。执行命令。

apt或yum:包管理器,用于安装、更新和删除软件包。

ctl:用于管理系统服务。

top:显示系统进程和资源使用情况。

网络管理:

ifconfig:显示网络接口的配置信息。

ping:测试与目标主机之间的网络连接。

scp:在本地主机和远程主机之间文件。

在Linux系统的Vim中如何写入?

xp交换当前字符和其后一个字符

vim编辑器的三种模式:一般模式、编辑模式和命令行模式。

在一般模式中可以进行删除、和粘贴的功能,但是无法编辑文件内容。从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。按下Esc键可以回到一般模式。在一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行。在这个模式中可以提供查找数据的作,而读取、保存、大量替换字符、离开vii、显示行号等作则是在此模式中完成的。需要注意的是,编辑模式与命令行模式之间是不能互相切换的。

下面列出平时用的最多的vi命令:

[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。

[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。

0或功能键[Home]:移动到这一行的最前面字符处。

$或功能键[End]:移动到这一行的面字符处。

G:移动到这个文件的一行。

gg:移动到这个文件的行,相当于1G.

N[Enter]:N为数字,光标向下移动N行。

查找和替换:

/word:向下寻找一个名称为word的字符串。

?word:向上寻找一个名称为word的字符串。

:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.

:1,$s/word1/word2/g:从行到一行寻找word1这个字符串,并且将其替换为word2.

:1,$s/word1/word2/gc:从行到一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。

删除、和粘贴:

x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。

dd:删除光标所在的一整行。

yy:光标所在的一行。

nyy:光标所在的向下n行。

p,P:p为将已的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。

u:复原前一个作。

[Ctrl]+r:重做上一个作。

.:小数点增加个bond,带有两个e1000接口,工作于active-backup模式,使用ARP,可以通过如下命令:,重复前一个作。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

具体步骤如下:/导致这种情况的原因主要是??

linux系统使用vi命令进入文件后怎么修改保存

:1,$d 删除所有行

首先打开你的命令行工具,如果是windows系统,然后目录切换到你修改文件所在的目录,然后执行如下作:

步:查看目录下文件file.txt的内容,使用cat file.txt

第二步:使用vi file.txt 进入到编辑界面,如下所示:

第三步:进入到编辑模式,按键i,此时可以移动光标到想修改的位置,同时我们修改内容如下:(注意界面左下角进入到了insert的模式,才代表现在是编辑模式)

第四步:推出编辑模式,并保存,按键esc退出insert模式,然后按shift+: (shift+冒号键),然后输入wq,wq表示,保存并退出。如果只按键q,则是只退出不保存。

,按 enter键退出界面,再次查看内容,验证一下:

插入命令

i 在当前位置生前插入

I 在当前行首插入

a 在当前位置后插入

A 在当前行尾插入

o 在当前行之后插入一行

O 在当前行之前插入一行

查找命令

/text查找text,按n健查找下一个,按N健查找前一个。

?text查找text,反向查找,按n健查找下一个,按N健查找前一个。

vim中有一些特殊字符在查找时需要转义.[]^%/?~$

:set ignorecase忽略大小写的查找

:set noignorecase不忽略大小写的查找

:set hlsearch高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。

:set nohlsearch关闭高亮搜索显示

:nohlsearch关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。

:set wrapscan重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

替换命令

ra 将当前字符替换为a,当期字符即光标所在字符。

s/old/new/ 用old替换new,替换当前行的个匹配

s/old/new/g 用old替换new,替换当前行的所有匹配

%s/old/new/ 用old替换new,替换所有行的个匹配

%s/old/new/g 用old替换new,替换整个文件的所有匹配

:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。

ddp 交换光标所在行和其下紧邻的一行。

移动命令

l 右移一个字符,这个命令很少用,一般用w代替。

j 下移一个字符

以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。

w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。

b 向后移动一个单词 2b 向后移动2个单词

e,同w,只不过是光标停在单词尾部

ge,同b,光标停在单词尾部。

^ 移动到本行个非echo "he $file_num file"空白字符上。

0(数字0)移动到本行个字符上,

移动到本行个字符。同0健。

$ 移动到行尾 3$ 移动到下面3行的行尾

gg 移动到文件头。 = [[

G(shift + g) 移动到文件尾。 = ]]

f(find)命令也可以用于移动,fx将找到光标后个为x的字符,3fd将找到第三个为d的字符。

F 同f,反向查找。

跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

撤销和重做

u 撤销(Undo)

U 撤销对整行的作

Ctrl + r 重做(Redo),即撤销的撤销。

删除命令

x 删除当前字符

3x 删除当前光标开始向后三个字符

X 删除当前字符的前一个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前一个字符

dd 删除当前行

dj 删除上一行

dk 删除下一行

10d 删除当前行开始的10行。

d$ 删除当前字符之后的所有字符(本行)

kdgg 删除当前行之前所有行(不包括当前行)

jdG(jd shift + g) 删除当前行之后所有行(不包括当前行)

:1,10d 删除1-10行

:11,$d 删除11行及以后所有的行

J(shift + j)删除两行之间的空行,实际上是合并两行。

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。

shift+p 在当前行前粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将整个文件一份并添加到文件尾部。

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可

ddp交换当前行和其下一行

剪切命令

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切

:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。

退出命令

:wq 保存并退出

ZZ 保存并退出

:q! 强制退出并忽略所有更改

:e! 放弃所有修改,并打开原来文件。

插入命令

i 在当前位置生前插入

I 在当前行首插入

a 在当前位置后插入

A 在当前行尾插入

o 在当前行之后插入一行

O 在当前行之前插入一行

查找命令

/text查找text,按n健查找下一个,按N健查找前一个。

?text查找text,反向查找,按n健查找下一个,按N健查找前一个。

vim中有一些特殊字符在查找时需要转义.[]^%/?~$

:set ignorecase忽略大小写的查找

:set noignorecase不忽略大小写的查找

:set hlsearch高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。

:set nohlsearch关闭高亮搜索显示

:nohlsearch关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。

:set wrapscan重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

替换命令

ra 将当前字符替换为a,当期字符即光标所在字符。

s/old/new/ 用old替换new,替换当前行的个匹配

s/old/new/g 用old替换new,替换当前行的所有匹配

%s/old/new/ 用old替换new,替换所有行的个匹配

%s/old/new/g 用old替换new,替换整个文件的所有匹配

:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。

ddp 交换光标所在行和其下紧邻的一行。

移动命令

l 右移一个字符,这个命令很少用,一般用w代替。

j 下移一个字符

w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。

b 向后移动一个单词 2b 向后移动2个单词

e,同w,只不过是光标停在单词尾部

ge,同b,光标停在单词尾部。

^ 移动到本行个非空白字符上。

0(数字0)移动到本行个字符上,

移动到本行个字符。同0健。

$ 移动到行尾 3$ 移动到下面3行的行尾

gg 移动到文件头。 = [[

G(shift + g) 移动到文件尾。 = ]]

f(find)命令也可以用于移动,fx将找到光标后个为x的字符,3fd将找到第三个为d的字符。

F 同f,反向查找。

跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

撤销和重做

u 撤销(Undo)

U 撤销对整行的作

Ctrl + r 重做(Redo),即撤销的撤销。

删除命令

x 删除当前字符

3x 删除当前光标开始向后三个字符

X 删除当前字符的前一个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前一个字符

dd 删除当前行

dj 删除上一行

dk 删除下一行

10d 删除当前行开始的10行。

d$ 删除当前字符之后的所有字符(本行)

kdgg 删除当前行之前所有行(不包括当前行)

jdG(jd shift + g) 删除当前行之后所有行(不包括当前行)

:1,10d 删除1-10行

:11,$d 删除11行及以后所有的行

J(shift + j)删除两行之间的空行,实际上是合并两行。

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。

shift+p 在当前行前粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将整个文件一份并添加到文件尾部。

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可

ddp交换当前行和其下一行

剪切命令

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切

:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。

退出命令

:wq 保存并退出

ZZ 保存并退出

:q! 强制退出并忽略所有更改

:e! 放弃所有修改,并打开原来文件。

补充楼上,修改完按Esc进入控制模式,再:w保存。:wq是保存并退出……

按i进入插入模式,改好之后

:w

保存

以免霸屏的指令是什么

以下是VI有关文件修改与保存的命令:

为什么要学习Linux,因为Linux很多都是开源免费的,并且Linux是非常稳定的,我们开发出来的项目一般都是在中的,我们作一个文件,且该文件具有性,不受源文件删除的影响;无论源文件或目标文件的内容修改时,两份文件都会同步修改。中的程序有两种方式,要么你就去跟前,这种明显是不现实的,所以在实际情况中我们都是在电脑安装一个远程登陆软件,通过这个软件来连接远程的,这样我们就可以在本地的电脑作远程了;Linux就提供了一种可靠的远程连接方式;

怎么恢复被我删了的那些vim文件夹

PS:其中第五行中的x为文件名中日期格式部分是第几段(以.分割),在第几段则x换成几

如果你删除的是你主目录(或 windows 系统下“我的文档”)里的文件,那么由于它们的作用是让用户自己定制 vim 的,所以对 vim 的功能没有影响。只是没了会改变你对 vim 的定制,影响你的使用习惯。由于我们不可能知道你的使用习惯,所以也不可能提出什么建设性意见。你只能自己重新定制。或者尝试一般的硬盘恢复方案,不过找回来的概率不大。

另外,如果你删除的是 vim 安装目录下的文件。那么多半会导致 vim 不能正常工作,或者丧失重要功常用:cat 1.txt能。最简单的方法是重新安装 vim。

还有一种情况,类 unix 系统下常见,是你删掉的是系统发行版对 vim 的全局配置。这对你的使用可能影响不大。因为你主目录下的配置文件大多会覆盖系统的全局配置,所以如果你用着没觉得有什么变化,不用管它就是了。如果需要恢复,可以去你使用的系统的专门的寻求帮助(因为不同的系统会有不一样的定制),让其它使用者传一下他们的配置文件,你恢复回去就好。或者重装系统,只不过这有点儿过于麻烦。