Linux运维之查看帮助文档,通用配置符,系统的输入输出管理及文本编辑器(gedit、nano、vi、vim)

一、实验环境(rhel7.0版本)

主机环境:rhel7.0

各主机信息

主机名IP
server172.25.254.1

 

二、查看命令的帮助

 

1、查看命令的笼统用途——whatis命令
 

whatis cp       查看cp命令的用途


 

2、查看命令的帮助文档——help命令、--help命令、man命令

 

(1)输入命令:type 命令   查看该命令是内置命令还是外部命令

 

 

(2)如果是内置命令:使用"help  命令 或者 man  命令"

 

(3) 如果是外部命令:使用"命令  --help 或者 man 命令"

 

3、"命令 --help"的用法:

(1)[]: 表示可加也可以不加
(2)...: 表示有多个
(3)<>:表示必须加入
(4)Usage: 表示命令的用法

 

4、“man 命令"的用法:

 

(1)man   命令


 

(2)man  5 文件名

 

(3)man  命令,man 5  文件名查看时,跟当前所在路径无关

 

(4)man中的基本用法:

1、翻屏:

  1. 向下翻一屏:space/PgUp
  2. 向上翻一屏:b/PgDn
  3. 向下翻一行:enter/j/下
  4. 向上翻一行:k/上

2、查找:

  1. /Keyword:向下查找字符串的功能
  2. ?字符串:向上查找字符串的功能
  3. n:向下匹配(与/或?有关)
  4. N:向上匹配(与/或?有关)

3、回到数据的第一行和最后一行gg

  • g:前进到这个数据的第一行
  • G:前进到这个数据的最后一行去(注意大小写)

4、退出:
        q:退出

 

三、系统中的通用配置符号

 

1、  *                                匹配所有字符

 

2、?                                匹配单个字符

 

3、[[:alpha:]]                   匹配单个字母


 

4、[[:lower:]]                   匹配单个小写字母


 

5、[[:upper:]]                  匹配单个大写字母


 

6、[[:punct:]]                  匹配单个特殊符号


 

7、[[:alnum:]]                 匹配单个数字或字母


/

8.、[[:digit:]]                    匹配单个数字

 

9、[1-9]                          匹配一位   1-9的数字


 

10、[!3-5]                      匹配一位   不是3-5的数字


 

11、[^3-5]                      匹配一位   不是3-5的数字

 

12、{1..3}                      匹配3个    1,2,3  


 

13、 {1,3,5}                    匹配3个    1,3,5

 

14、[a-z]                        匹配一位   a-z的字母

 

15、[!a-z]                        匹配一位   不是a-z的字母

 

16、[^a-z]                       匹配一位   不是a-z的字母
 

17、{a..z}                        匹配一位   a-z的字母

 

18、[a,b,c]                      匹配3个   a,b,c

 

四、系统的输入输出管理

  1. 其中重定向的文件不用自己创建,系统自动创建
  2. 重定向会覆盖原文件内容

 

1、管理输入输出的符号

 

(1)输出重定向

  1.  >                        重定向正确输出
  2. 2>                      重定向错误输出
  3. &>                      重定向所有输出
  4. >file                    清空file文件


   

【1】、find  /etc  -name  passwd  >  file                重定向正确输出到file

 

【2】、find  /etc  -name  passwwd  2>  file              重定向错误输出到file


    

【3】、find  /etc  -name  passwd  &>  file             重定向所有输出到file


    注意:此实验需在普通用户下完成



(2)输出追加

  1.  >>                        追加正确输出
  2. 2>>                      追加错误输出
  3. &>>                      追加所有输出

 

【1】、find  /etc  -name  passwd  >>  file                追加正确输出到file

 

【2】、find  /etc  -name  passwd  2>>  file              追加错误输出到file


    

【3】、find  /etc  -name  passwd  &>>  file              追加所有输出到file

 


    注意:此实验需在普通用户下完成


 

2、管道的应用


(1)管道的作用:

"|"管道的作用是把前一条命令的输出变成后一条命令的输入

注意:

  1. 管道只允许正确的输出通过
  2. 通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的              
  3. 如果需要保存输出内容,用到的命令时"tee"。

 
(2)管道的示例:
    

【1】、find  /etc  -name  passwd | wc  -l                                 看到的结果为2,因为错误输出不能通过管道符

 

【2】、find  /etc  -name  passwd | tee file1 | wc  -l                     保存一份输出到file1,再统计行数


    

【3】、find  /etc  -name  passwd  2>&1 | wc  -l                     看到的结果为19,因为错误输出被"2>&1"转换为正确输出

 

【4】、find  /etc  -name  passwd  2>&1 | tee file2 | wc  -l        保存一份输出到file2,再统计行数


 


    注意:此实验需在普通用户下完成


 

3、输入重定向

注意:输出重定向会覆盖原来的内容;输入重定向会覆盖原来的内容。

 

cat > file <<EOF
> hello
> world
> 你好
> 世界
> EOF

 

五、文本编辑器之gedit命令

 

1、gedit      必须有图形

 

2、vim命令

安装gcc编译器

执行文件中的内容

 

六、文本编辑器之nano命令

 

nano的使用很简单,你可以直接加上文件名就能够打开一个旧文件或新文件。

 

(1)下面我们就来打开一个名为text.txt的文件来看看:

[root@server ~]# nano test.txt   #不管test.txt存不存在都没有关系,存在就打开旧文件,不存在就创建新文件

如上所示,你可以看到第一行黑色的部分,那仅是声明nano的版本与文件名(File:test.ext)而已,之后你会看到最下面的三行,分别是文件的状态(New  file)与两行命令说明行。命令说明行黑色的部分就是组合键,接着则是该组合键的功能,那个指数符号(^)代表的是键盘的[Ctrl]按键。下面先来说说比较重要的几个组合键:

  1. [Ctrl]+G:取得连机帮助(help),很有用的
  2. [Ctrl]+X:离开nano软件,若有修改过文件会提示是否需要保存
  3. [Ctrl]+O:保存文件,若你有权限的话就能够保存文件了
  4. [Ctrl]+R:从其他文件读入内容,可以将某个文件的内容贴在本文件中
  5. [Ctrl]+W:查找字符串,这个也是很有帮助的命令
  6. [Ctrl]+C:说明目前光标所在处的行数和列数等信息
  7. [Ctrl]+_:可以直接输入行号,让光标快速移动到该行
  8. [Alt]+Y:语法校验功能开启或关闭(单击开,再单击关)
  9. [Alt]+M:可以支持鼠标来移动光标的功能

 

(2)好了,请你在上述的界面中随便输入一些字,输入完毕之后就保存后离开,如下所示:

此时按下[Ctrl]+X组合键会出现类似下面的界面:

如果不要保存数据只想要离开,可以按下N即可离开。如果确实是需要保存的,那么按下Y后,最后三行会变成如下的界面:

如果只是单纯地想要保存而已,直接按下[Enter]即可保存后离开nano程序。不过上表中最下面还有两行,我们知道指数符号^代表[Ctrl],那么M是代表什么呢?其实就是[Alt]。

 

七、文本编辑器之vi/vim命令

 

1、为何要学vi/vim

  1. 所有地UNIX-like系统都会内置vi文本编辑器,其他地文本编辑器则不一定会存在;
  2. 很多软件地编辑接口都会主动调用vi(例如未来会谈到地crontab、visudo等命令);
  3. vim具有程序编辑能力,可以主动地以字体颜色辨别语法地正确性,方便程序设计;
  4. 因为程序简单,编辑速度相当快速

 

2、vi/vim命令的使用

 

(1)vi/vim的三种模式及其用途:

 

1、vim命令的三种模式:

  1. 命令模式(普通模式)
  2. 编辑模式(插入模式)
  3. 命令行模式(末行模式)

2、三种模式的用途:

  1. 命令模式(普通模式):浏览文件
  2. 编辑模式(插入模式):对文件进行编辑
  3. 命令行模式(末行模式):临时更改vim的工作方式,字符批量处理

 

(2)按键说明:

 

【1】、命令模式可用的功能按键说明,光标移动、复制粘贴等

 

                                               移动光标的方法
h、向左箭头键左移一个字符
l(L的小写)、向右箭头键右移一个字符
k、向上箭头键上移一个字符
j、向下箭头键

下移一个字符

如果你将右手放在键盘上的话,你会发现hjkl是排列在一起的,因此可以使用。这四个按键来移动光标。如果想要多次移动的话,例如向下移动30行,可以使用"30j"或"30向下箭头键"的组合按键,亦即加上想要进行的次数(数字)后,按下操作即可
Ctrl+f向下翻一页,相当于PgDn
Ctrl+b向上翻一页,相当于PgUP
Ctrl+d向下翻半页
Ctrl+u向上翻半页
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
n<space>那个n表示【数字】,例如20,按下数字后再按空格键,光标会向右移动这一行的n个字符
^移动到相对行首
0或功能键【home】移动到绝对行首(常用)
$或功能键(End)移动到行尾(常用)
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的最中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符
G光标移动到文件的最后一行(常用)
nGGn为数字,光标移动到这个文件的第n行
gg光标移动到文件的第一行,相当于1G(常用)
nggn为数字,光标移动到这个文件的第n行,同20G
n<Enter>n为数字,光标向下移动n行(常用)

 

                              删除、复制、剪切、粘贴、撤销、反撤销、重复
                                                   删除命令
x删除光标所在的字符,相当于【del】键;(常用)
X向前删除一个字符,相当于【Backspace】键。(常用)
nxn为数字,连续向后删除n个字符。
nXn为数字,连续向前删除n个字符。
dl删除光标所在字符
dnln位数字,连续向后删除n个字符
dw删除光标所在字符对应的一个单词
dnwn位数字,连续向后删除n个单词
dd删除一行
dndn位数字,连续向下删除n行
d1G删除光标所在行到第一行的数据
dG删除光标所在行到最后一行的数据
d$删除光标所在处,到该行的最后一个字符
d0删除光标所在处,到该行的最前面一个字符
                                                  复制命令
yl复制一个字符
ynlln为数字,复制n个字符
yw复制一个单词
ynwn为数字,复制n个单词
yy复制一行
ynyn为数字,复制n行
ylG复制光标所在行到第一行的所有数据
yG复制光标所在行到最后一行的所有数据
y$复制光标所在字符到该行行尾的所有数据
y0复制光标所在字符到该行行首的所有数据
                                               剪切命令
cl剪切一个字符
cnln为数字,剪切n个字符
cw剪切一个单词
cnwn为数字,剪切n个单词
cc剪切一行
cncn为数字,剪切n行
c1G剪切光标所在行到第一行的所有数据
cG剪切光标所在行到最后一行的所有数据
c$剪切光标所在字符到该行行尾的所有数据
c0剪切光标所在字符到该行行首的所有数据
注意:剪切之后会进入插入模式,如果要粘贴需要先按“ESC”退出插入模式,进入普通模式,再按“p”粘贴
                                             粘贴命令
p将已复制的数据在光标下一行粘贴
P将已复制的数据在光标上一行粘贴
                                              撤销命令
                                                   u
                                            反撤销命令
                                                 Ctrl+r
                                              重复命令
比如:敲dd(删除光标所在行),那么按.会继续执行这个命令

 

【2】、编辑模式下的光标移动

 

                                            光标移动的方法
四个方向键左移/右移/上移/下移
Home键移到行首
End键移到行尾
PgDn向下翻一屏
PgUp向上翻一屏

 

 

【3】、命令模式与编辑模式之间的相互切换

 

                                    命令模式切换到编辑模式
i插入光标前一个字符
I插入行首
a插入光标后一个字符
A插入行末
o向下新开一行,插入行首
O向上新开一行,插入行首
s删除光标所在的字符插入(与x不同的是:x不进入编辑模式)
S删除光标所在行插入
rr只会替换光标所在的那一个字符一次
RR会一直替换光标所在的文字,直到按下Esc为止
上面这些按键中,在vi/vim界面的左下角会出现【--INSERT--】或【--REPLACE--】的字样。
                                    编辑模式切换到命令模式
                                                   Esc

 

【4】、命令模式与命令行模式之间的相互切换

 

         命令模式切换到命令行模式(命令行模式下的保存、退出命令)
:w保存
:w!强制保存。(所编辑的文件必须是当前用户的文件,或者当前操作用户为root用户)
:q没有修改内容,直接退出
:q!不保存,强制退出
:wq保存退出
:wq!保存,强制退出(所编辑的文件必须是当前用户的文件,或者当前操作用户为root用户)
ZZ这是大写的Z,若文件没有修改,则不保存退出,若文件已经被修改过,则保存后退出
:w [filename]将编辑的数据保存成另一个文件(类似于另存新文件)
:r [filename]在编辑的数据中,读入另一个文件的数据,亦即将【filename】这个文件内容加到光标所在行后面
:n1,n2w [filename]将n1到n2的内容保存为filename这个文件
:! command暂时退出vi/vim到命令模式行模式下执行commond的显示结果
                                命令行模式到命令模式的切换
                                                 两次Esc

 

 

【5】命令行模式下的其他应用

 

1、调整vim的工作方式的方法为:   

 

(1)临时调整方法:   :set    调整的参数

 

【1】、:set   nu                             显示行号(默认是没有行号的)

 

【2】、:set   nonu                        去掉行号


 

【3】、:set   mouse=a                显示鼠标(即鼠标可以随意移动)(默认是不显示鼠标的)


 

【4】、:set   cursorline                显示行线(默认是不显示行线的)

 

【5】、:set tabstop=4                  设置一个tab键为4个空格(默认是8个空格)

 

【6】、:set shiftwidth=4              设置自动缩进的时候一次是4个空格


注意:该方法时临时的方法,关闭vim之后会还原成原来的样子


 

(2)永久调整方法:

编辑/etc/vimrc文件(或者是~/.vimrc文件),在该配置文件的最后一行,加入要调整的参数的相应代码

 

2、字符的查找命令:

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

?word                向光标之下寻找一个名称为word的字符串。

n                         继续向下查找

N                         继续向上查找

 

3、字符的查找替换命令:

 

【1】、:%s/要替换的字符/替换成的字符/g        

:%s/nologin/bash/g                  把全部的nologin替换为bash


 

【2】、:%s/要替换的字符/替换成的字符/gc       

:%s/nologin/bash/gc                  把全部的nologin替换为bash,只是在替换之前,会显示提示字符给用户确认是否需要替换

 

【3】、:n1,n2s/要替换的字符/替换成的字符/g

:1,5s/bash/nologin/g                   把1-5行的bash替换为nologin

:1,$s/nologin/bash/g                  把1-最后一行的nologin替换成bash

 

【4】、:n1,n2s/要替换的字符/替换成的字符/gc

:1,5s/bash/nologin/gc                   把1-5行的bash替换为nologin,只是在替换之前,会显示提示字符给用户确认是否需要替换

:1,$s/nologin/bash/gc                  把1-最后一行的nologin替换成bash,只是在替换之前,会显示提示字符给用户确认是否需要替换

 

4、光标的移动:

:数字                              光标移动到指定行

:$                                    光标移动到最后一行

 

【6】、编辑模式与命令行模式之间不可相互切换

 

(3)vim的缓存、恢复与打开时的警告信息

 

         vim有没有恢复功能?有的, vi/vim可以通过缓存来恢复。

        当我们在使用vim编辑时,vim会在与被编辑的文件的目录下,再建立一个名为.filename.swp的文件。比如,我们在编辑/etc/man_db.conf这个文件时,vim会主动的建立/etc/.man_db.conf.swp的缓存,你对man_db.conf做的操作就会被记录到这个.man_db.conf.swp当中。如果你的系统因为某些原因掉线了,导致你编辑的文件还没有保存,这个时候.man_db.conf.swp就能够发挥恢复功能了。我们来测试一下吧。

 

[student@server ~]$ cp /etc/man_db.conf /tmp/
[student@server ~]$ vim/tmp/man_db.conf    
#此时会进入到vi的界面,请在vi的命令模式下按下【Ctrl+z】的组合键
[1]+  Stopped                 vim /tmp/man_db.conf   <==按下【Ctrl+z】会告诉你这个信息
[student@server ~]$ jobs    #查看系统中的后台进程
[1]+  Stopped                 vim /tmp/man_db.conf

        当我们在命令模式下按下【Ctrl+z】的组合键时,你的vim会被丢到后台去执行。回到命令提示符之后,接下来我们来模拟将vim的工作不正常的中断吧!

[student@server ~]$ ls -al /tmp/.man_db.conf.swp 
-rw-r--r--.  1 student student  4096 Jun  3 16:18 .man_db.conf.swp   <==就是它,缓存文件
[student@server ~]$ kill -9 %1   <==这里模拟vim停止工作

[1]+  Stopped                 vim /tmp/man_db.conf
[student@server ~]$ ls -al /tmp/.man_db.conf.swp 
-rw-r--r--. 1 student student 4096 Jun  3 16:18 /tmp/.man_db.conf.swp   <==缓存文件还是会存在
[1]+  Killed                  vim /tmp/man_db.conf 

        这个kill可以模拟将系统vim工作删除的情况,你可以模拟宕机。由于vim的工作被不正常地中断,导致缓存无法借由正常流程来结束,所以缓存就不会消失,而继续保留下来,此时如果你继续编辑那个man_db.conf,会出现什么情况?会出现如下所示地状态:

[student@server ~]$ vim /tmp/man_db.conf
E325: ATTENTION    <==错误代码
Found a swap file by the name "/tmp/.man_db.conf.swp"     <==下面数行说明有缓存文件地存在
          owned by: student   dated: Mon Jun  3 16:18:27 2019
         file name: /tmp/man_db.conf       <==这个缓存文件属于哪个实际的文件?
          modified: no
         user name: student   host name: server
        process ID: 5615
While opening file "/tmp/man_db.conf"
             dated: Mon Jun  3 16:16:22 2019
下面说明可能发生这个错误地两个主要原因与解决方案
(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /tmp/man_db.conf"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/tmp/.man_db.conf.swp"
    to avoid this message.

Swap file "/tmp/.man_db.conf.swp" already exists!   下面说明你可进行地操作
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

 

        由于缓存存在的关系,因此vim会主动判断你地这个文件可能有些问题,在上面地图例中vim提示两点主要地问题与解决反感,分别是这样地:

  • 问题一:可能有其他人或程序同时在编辑这个文件:
  • 问题一的解决方法是:
  1. 找到那个程序或人员,请它将该vim地工作结束,然后你再继续处理。
  2. 如果你只是想要看该文件地内容并不会有任何修改编辑的操作,那么可以选择开启成为只读(O)文件,即上述界面反白部分输入英文【o】即可。就是[O]pen  Read-Only的选项
  • 问题二:在前一个vim的环境中,可能因为某些不知名原因导致vim中断(crashed):
  • 问题二的解决办法:
  1. 如果你之前的vim处理操作尚未保存,此时你应该按下【R】,亦即使用(R)ecover的选项,此时,vim会加载.man_db.conf.swp的内容,让你自己来决定要不要保存,这样就能救回来你之前未保存的信息。不过这个.man_db.conf.swp并不会在你结束vim后自动删除,所以你退出vim后还得要自行删除.man_db.conf.swp才能避免每次打开这个文件都会出现这样的警告。
  2. 如果你确定这个缓存是没有用的,那么你可以直接按下【D】删除掉这个缓存,即(D)elete  it这个选项即可。此时vim会加载man_db.conf,并且将旧的.man_db.conf.swp删除后,建立这个会使用的新的.man_db.conf.swp。

 

      至于这个发现缓存警告信息的界面中,有出现六个可用按键,各按键的说明如下:

  1. [O]pen Read-Only:打开此文件成为只读文件,可以用在你只是想要查看该文件内容并不想要进行编辑操作时。一般来说,在上课时,如果你是登录到同学的计算机去看它的配置文件,结果发现其实同学他自己也在编辑时,可以使用这个模式;
  2. (E)dit anyway:还是用正常的方式打开你要编辑的那个文件,并不会加载缓存的内容,不过容易发现两个用户互相改变对方的文件等问题。
  3. (R)ecover:就是加载缓存的内容,用在你要救回之前未保存的工作,不过当你救回来并且保存退出vim后,还是要手动自行删除那个缓存。
  4. (D)elete it:你确定那个缓存是无用的,那么打开文件前先将这个缓存删除,这个操作其实是比较常做。因为你可能会=不确定这个缓存是怎么来的,所以就删除掉它吧!
  5. (Q)uit:按下q就退出vim,不会进行任何操作回到命令提示符
  6. (A)bort:忽略这个编辑操作,感觉上与quit非常类似,也会送你回到命令提示字符。

除了(D),其他选项都不会删除.swp文件,必须手动删除(通过ls -a命令来查看隐藏文件,之后再利用rm命令删除即可)或者按D删除,删除之后,vim才会恢复正常。

(O)pen Read-Only只读打开
(E)dit anyway继续编辑
(R)ecover恢复(需要按两次R)
(D)elete删除.swp文件
(Q)uit退出
(A)bort退出

 

3、vim的额外功能

 

        其实,目前大部分的Linux发行版都以vim替换vi的功能了。如果你使用vi后,却看到界面的右下角有显示目前光标所在行的行号,那么你的vi已经被vim所替换。

        假如,我想要编辑/etc/services,则输入【vim  /etc/services】看看:

        上面是vim的界面示意图,在这个界面中有几点特色要说明:

  1. 界面的最下面一行,在左边显示文件的属性,包括文件名、内容共有11176行与670293个字符;
  2. 最下面一行的右面出现的91,1表示光标所在为第91行,第1个字符位置之意
  3. 除了注释之外,其他的行就会有特别的颜色显示,可以避免打错字,而且,最右下角的0%代表目前整个界面占整体文件的0%之意。

 

(1)可视区块(Visual  Block)

 

                                               可视区块的按键意义
v字符可视化,会将光标经过的地方反白选择
V行可视化,会将光标经过的地方反白选择
Ctrl+v块可视化,会将光标经过的地方反白选择
y将反白的地方复制起来
d将反白的地方删除掉
p将刚刚复制的区块,在光标所在处粘贴

 

        像下面这种格式的文件(/etc/hosts):

192.168.1.1  host1.class.net
192.168.1.2  host2.class.net
192.168.1.3  host3.class.net
192.168.1.4  host4.class.net

        假设我想要将host1、host2等复制起来,并且加到每一行的后面,即每一行的结果要是【192.168.1.2  host2.class.net  host2】,那该怎么做呢?做法如下:

  • 1、将光标移动到第一行的host那个h上面,然后按下【Ctrl】+v,左下角出现可视块示意字样如下:

  • 2、将光标移动到最低部,此时光标移动过的区域会反白,如下图所示:

  • 3、此时你可以按下【y】来进行复制,当你按下y之后,反白的区块就会消失不见

  • 4、最后,将光标移动到第一行的最右边,并且再用编辑模式向右按两个空格键,回到命令模式后,再按下【p】。

 

应用一:批量添加字符

第一步:ctrl+v进入块可视化,选中要加入字符的列

第二步:按【I】进入插入模式(插入行首)

第三步:加入字符

第四步:按【Esc】退出

第五步:按【:wq】保存退出

应用二:文本的移动

文本向右移动                >/>>
文本向左移动                </<<

具体操作:
第一步:将光标移动到要移动的行
第二步:按“v”进入字符可视化或者“V”进入行可视化
第三步:按上下键选中所有要移动的行
第四步:shift+>>(向右移动)或者shift+<<(向左移动)

 

(2)多文件编辑

 

                                              多文件编辑的按键
:n编辑下一个文件
:N编辑上一个文件
:files列出目前这个vim开启的所由文件

 

        如果你想要将上述的/etc/hosts文件中的内容复制到/root/test_file文件中,该怎么做?做法如下:

  • 1、通过【vim  /etc/hosts  /root/test_file】命令来使用一个vim打开两个文件
  • 2、在vim中先使用【:files】查看一下编辑的文件有些什么?界面如下图所示,至于下图最后一行显示的是【按下任意键】就会回到vim的命令模式中。

  • 3、在第一行输入【y4y】复制四行;
  • 4、在vim的环境下输入【:n】会来到第二个编辑的文件,亦即/root/test_file内;
  • 5、在/root/test_file下按【G】到最后一行,再输入【p】粘贴
  • 6、最终按下【:wq】保存退出vim的多文件编辑

 

(3)多窗口功能

 

                                      多窗口情况下的按键功能
:sp[filename]打开一个新窗口,如果有加filename,表示在新窗口创建一个新文件,否则表示两个窗口为同意文件内容(同步显示)

[Ctrl]+w+j

[Ctrl]+w+向下方向箭头uu

按键的按法是:先按下【Ctrl】不放,再按下w后放开所有的按键,之后再按下j(或向下箭头键),则光标可移动到下方的窗口

[Ctrl]+w+k

[Ctrl]+w+向上方向箭头

同上,不过光标移动到上面的窗口
ctrl+w   s           同上,上下分屏
ctrl+w   v          同上,左右分屏
ctrl+w   c 关闭光标所在屏幕

[Ctrl]+w+h

[Ctrl]+w+向左方向箭头

同上,光标移动到左方的窗口

[Ctrl]+w+l

[Ctrl]+w+向右方向箭头

同上,光标移动到右方的窗口

[Ctrl]+w+q

其实就是:q结束退出,举例来说,如果我想要结束下方的窗口,输入:q即可退出,也可以按下【Ctrl】+w+q,此外也可以输入:close关闭所在的窗口

 

(4)vim环境设置与记录:~/.viminfo、~/.vimrc、/etc/vimrc

 

        我们经常会发现 下面的这两种现象

  1. 有没有发现,如果我们以vim软件来查找一个文件内部的某个字符串时,这个字符串会反白,而我们再次以vim编辑这个文件时,该查找的字符串反白情况还是存在。甚至于在编辑其他文件时,如果其他文件内也存在这个字符串,哇,竟然还是主动反白,真神奇。
  2. 另外,当我们重复编辑同一文件时,当第二次进入该文件时,光标竟然就在上次退出的那一行上面。

        出现上述两种现象的原因是什么呢?

  1. 这是因为我们的vim会主动地将你曾经做过地操作记录下来,好让你下次可以轻松地作业,这个记录操作的文件就是:~/.viminfo。如果你曾经使用过vim,那你的根目录应该会存在这个文件才对。这个文件是自动生成生成地,你不必自行建立。而你在vim里面所做过的操作,就可以在这个文件内部查询得到。

 

                                              vim的环境设置参数

:set nu

:set nonu

设置与取消行号

:set hlsearch

:set nohlsearch

hlsearch就是high light search(高亮度查找),这个就是设置是否将查找的字符串反白的设置值,默认值是hlsearch

:set autoindent

:set noautoindent

是否自动缩进?autoindent就是自动缩进
:set backup是否自动保存备份文件?一般是nobackup的,如果设置backup的话,那么当你修改任何一个文件时,则源文件会被另存成一个文件名为filename~的文件。举例来说,我们编辑hosts,设置:set backup,那么当修改hosts时,在同目录下,就会产生hosts~文件名的文件,记录源是的hosts文件内容
:set ruler还记得我们提到的右下角的一些状态栏说明?这个ruler就是显示或不显示该设置值的
:set showmode是否要显示  ---INSERT---之类的自言在左下角的状态栏
:set backspace=(012)一般来说,如果我们按下i进入编辑模式后,可以利用退格键(Backspace)来删除任意字符。但是,某些Linux发行版则不许如此。此时,我们就可以通过backspace来设置,当backspace为2时,就是可以删除任意值;0或1,仅可删除刚刚输入的字符,则无法删除原本就已经存在的文字
:set all显示目前所有环境参数设置值
:set显示与系统默认值不同的设置参数,一般来说就是你有自行变动过的设置参数

:syntax on

:synax off

是否依据程序相关语法显示不同颜色?举例来说,在编辑一个纯文本文件时,如果开头是以#开始,那么该行就会变成蓝色。如果你懂得写程序,那么这个:syntax  on还会主动的帮你除错。但是,如果你仅是编写纯文本文件,要避免颜色对你的屏幕产生的干扰,则可以取消这个设置

:set bg=dark

:set bg=light

可以显示不同的颜色色调,默认是【light】,如果你常常发现注释的深蓝色字体很不容易看,那么这里可以设置为dark。

 

总之,这些设置值是很有用处的。但是,我是否每次使用vim都要重新设置一次各个参数值?这不太合理吧?没错,所以,我们可以通过【配置文件来直接规定我们习惯的vim操作环境。整体vim的设置值一般是放置在/etc/vimrc这个文件中,不过,不建议你修改它,你可以修改~/.vimrc这个文件(默认不存在,请你自行手动建立),将你所希望的设置值写入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值