zoukankan      html  css  js  c++  java
  • linux系统管理学习笔记4-使用vi

    linux系统管理学习笔记4-使用vi

    vi 入门

    编辑文本基本是linux中最常见的操作。

    强烈推荐vi 为首选文本编辑器。

    vi 是linux中预装的文本编辑器。

    vim 是vi 升级版(vi improved),vim 完全兼容vi。

    命令行下输入 vim,即打开vim文本编辑器。

    vim 是一个模式编辑器,有三种基本的模式,不同的模式完成不同的任务,分别是

    1. 一般模式,动作指令,如移动光标,删除,复制,粘贴等。
    2. 输入模式:输入字符
    3. 命令行模式:打开,保存,查找,替换等。

    按下i键,即让vim进入编辑模式,左下显示INSERT。vim在一般模式的时候,左下显示文件名或者空白。

    输入模式下,输入内容。完成输入后,按esc键,编辑器又进入一般模式。

    一般模式下,移动光标,h 左, j下, k 上, l右。 移动光标也可以通过箭头操作,但是不建议如此操作,因为上述h j k l 四个键正好在右手放在键盘上的位置。

    删除的方法是将光标移动到想删除的文字上,然后按x键。删除一整行,是将光标移动到要删除的行的任意一处,然后使用的命令是,"dd" 命令,删除后下面行会移上来填补空缺。删除换行符的操作是,将光标移动到行末,然后按下shit+J (即大写J键),即删除了当前的换行符。命令u可以撤销最后一次的编辑,按下ctrl+r,可以redo。

    一般模式下,输入 : 即进入命令行模式。

    使用 ":wq sample.txt"命令退出vim,该命令将修改的文件保存至硬盘sample.txt并退出vim。命令 : 让编辑器进入命令模式,命令w告诉编辑器保存文件,命令q告诉编辑器退出程序。

    ":q!" 命令是,退出并不保存任何修改。命令中的 ! 即告诉编辑器无需保存文件。

    vim进阶

    用vim 完成一个12步的文本编辑任务。

    mkdir /tmp/vimtest
    cd /tmp/vimtest
    cp /etc/man_db.conf .
    vim man_db.conf
    

    接着为任务操作内容

    1. 设定行号。任务是设定行号。设定行号属于设定环境参数,设定环境参数的命令是 set 环境参数 ,取消设置是 set no环境参数 。按冒号进入命令行模式,输入 set nu即可。若要取消设定行号,输入"Set nonu"。
    2. 精确移动以及移动至行首行尾。任务是移动到第58行行首,再向右移动30个字符,移动到第8行行尾,再向左移动3列,最后移动到文件末行。vim中可以使用移动命令键进行移动光标,也可以使用数字+移动命令键进行精确快速移动。如 8l为向右移动8个字符,3j为向下移动3行。gg表示移动到文件首行,G表示移动到文件末行,数字0表示移动到当前行首,美元符表示移动到当前行尾。3G表示将光标移动到第3行行首,10$表示下移10行,并定位到行尾。
    3. 查找操作。移动到第1行行首,并且向下搜寻 man 这个字符串。 操作是gg移动到文件首行,在普通模式下,键入斜线进入命令行模式,然后输入man从光标处开始向下查找man 字符串。用n或N遍历所有查找到的字符串。
    4. 替换操作。任务是,将50到100行之间的man替换为MAN, 并且一个一个挑选询问用户是否需要替换。在vim中替换的基本模式是,n1,n2s/word1/word2/gc, 表示在第n1和n2行之间查找word1字符串(当需要在整个文件中进行查找替换时,可以令n1=1为首行, n2=$表示末行),并用word2来替代。命令中的字符c可以省略,包含c表示vim在替换前询问用户。操作是,在普通模式下,键入冒号进入命令模式,输入50,100s/man/MAN/gc
    5. 复制指定行的内容并粘贴。任务是,复制51到60行这十行的内容,并且贴到最后一行之后。vim中复制命令是,yy,即复制光标所在行, nyy表示复制从光标行开始的向下n行。vim中粘贴命令是 p,表示在光标的下一行粘贴。操作是,50G定位到文本第50行,10yy复制51-60行文本,G定位到文本最后一行,p进行粘贴。
    6. 删除字符和整行删除。任务是,删除11到30行之间的20行,定位至29行行首,并且删除15个字符。vim中dd表示删除光标所在行,ndd表示删除从光标行开始的向下n行。vim中字符删除命令是x,表示删除光标所在处的字符,nx表示从光标所在开始删除n个字符。操作是,10G,20dd, 29G, 15x.
    7. 撤销操作。任务是,撤销前面的所有修改。vim中 u 撤销一次操作,或者在键入e! 撤销全部操作。操作是,
    8. 文件另存为操作。任务是,将这个文件另存为一个名为man.config.bak的文件。操作是,在普通模式下,键入冒号进入命令行模式,:w man.config.bak ,即可。其中,w为保存命令,后跟文件名。
    9. 插入其他文档中的内容。任务是,在最后一行后,插入当前目录下turtle.txt文件内容并保存。操作是,键入G定位至最后一行,键入冒号进入命令行模式,:r /turtle.txt ,即将turtle文件内容插入至文件末尾。然后用w保存。r命令就是将另一文件的内容追加到当前光标的后面。
    10. 同时打开多个文档。任务是,同时打开man_db.conf 和man.config.bak。vim提供了同时编辑多个文件的功能,vim 文件1, 文件2 ....文件n,即同时打开多个文件。然后在命令行模式下,用:n , :N 可以在多个文件之间进行切换。
    11. 可视模式。任务是,将man.config.bak中插入的turtle.txt文件内容的第一列到底10列拷贝粘贴到man_db.conf 中。操作是,在普通模式中,按ctrl V即可进入可视模式,然后在屏幕左下方会显示可视字样,可视模式下提供了十分友好的文本选择方法,光标移动,即可选择文本。选择好10列内容后,按下y复制内容。然后切换文件,G进入最后一行,按下p进行粘贴。
    12. 存储文件,退出vim。

    参考资料推荐

    vim

    书籍 《Vim使用技巧》

    书籍 《学习vi和vim》

  • 相关阅读:
    POJ 2923 Relocation (状态压缩,01背包)
    HDU 2126 Buy the souvenirs (01背包,输出方案数)
    hdu 2639 Bone Collector II (01背包,求第k优解)
    UVA 562 Dividing coins (01背包)
    POJ 3437 Tree Grafting
    Light OJ 1095 Arrange the Numbers(容斥)
    BZOJ 1560 火星藏宝图(DP)
    POJ 3675 Telescope
    POJ 2986 A Triangle and a Circle
    BZOJ 1040 骑士
  • 原文地址:https://www.cnblogs.com/songbiao/p/12582863.html
Copyright © 2011-2022 走看看