zoukankan      html  css  js  c++  java
  • Linux常用命令(三)

    上节回顾:

      在前面篇博文中主要讲了Linux中常用的一些命令的基本用法。具体内容见Linux常用命令(一)Linux常用命令(二)。这一节主要介绍Linux中VIM文本编辑器的主要用法。

      

      补充Linux学习常用小技巧:

    1. 善于查看man help等帮助文档
    2. 利用好Tab键  自动补全
    3. 掌握好一些快捷键:

        ctrl + c(停止当前进程)

        ctrl + z  挂起当前进程,放后台

        ctrl + r(查看命令历史) history

        ctrl + l(清屏,与clear命令作用相同)

        方向箭头  上 下 可以查看执行过的命令

        ctrl + a  行首

        ctrl + e 行尾

        ctrl + k  清除  

        ctrl+ w 清除单词

    VIM文本编辑器

      vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单。

    VIM工作模式

        

      

      命令模式:又称一般模式

      编辑模式:又称底行模式,命令行模式

    插入命令

    命令

    作用

    a

    在光标后附加文本

    A(shift + a)

    在本行行末附加文本   行尾

    i

    在光标前插入文本

    I(shift+i)

    在本行开始插入文本 行首

    o

    在光标下插入新行

    O(shift+o)

    在光标上插入新行

    定位命令

    命令

    作用

    :set nu

    设置行号

    :set nonu

    取消行号

    gg

    G

    到第一行

    到最后一行

    nG

    到第n行

    :n

    到第n行

     

    保存和退出命令

    命令

    作用

    :w

    保存修改

    :w new_filename

    另存为指定文件

    :w >> a.txt

    内容追加到a.txt文件中 文件需存在

    :wq

    保存修改并退出

    shift+zz(ZZ)  

    快捷键,保存修改并退出

    :q!

    不保存修改退出

    :wq!

    保存修改并退出(文件所有者可忽略文件的只读属性)

    删除命令

    命令

    作用

    x    

    删除光标所在处字符   nx 删除光标所在处后n个字符

    dd

    删除光标所在行,ndd删除n行

    :n1,n2d

    删除指定范围的行(eg :1,3d   删除了123这三行)

    dG

    删除光标所在行到末尾的内容

    D

    删除从光标所在处到行尾

    复制和剪切命令

    命令

    作用

    yy、Y    

    复制当前行

    nyy、nY

    复制当前行以下n行

    dd   

    剪切当前行

    ndd 

    剪切当前行以下n行

    p、P

    粘贴在当前光标所在行下  或行上

    替换和取消命令

    命令

    作用

    r

    取代光标所在处字符

    R(shift + r)

    从光标所在处开始替换字符,按Esc结束

    u

    undo,取消上一步操作

    ctrl+r

    redo,返回到undo之前

    搜索和替换命令

    命令

    作用

    /string

    向后搜索指定字符串   搜索时忽略大小写 :set ic

    ?string

    向前搜索指定字符串

    n

    搜索字符串的下一个出现位置,与搜索顺序相同

    N(Shift + n)

    搜索字符串的上一个出现位置,与搜索顺序相反

    :%s/old/new/g

    全文替换指定字符串

    :n1,n2s/old/new/g

    在一定范围内替换指定字符串 

      

      

      % 指全文,s 指开始,g 指全局替换

      起始行,终止行s/要替换的字符串/替换的新的字符串/g    c 询问确认

        eg: :%s/ftp/yang/g    全局替换,把ftp替换为yang

        eg: :41,44/yang/lee/c   从41行到44行,把yang替换为lee,询问是否替换

        eg: :41,44/yang/lee/g   同上,不询问,直接替换

        eg: :%s//root//ROOT/g  把/root替换为/ROOT

        eg: :%s#/bin/bash#/bin/ksh/g        把/bin/bash全部替换为/bin/ksh

      使用替换命令来添加删除注释

        :% s/^/#/g 来在全部内容的行首添加 # 号注释

        :1,10 s/^/#/g 在1~10 行首添加 # 号注释

      vi里面怎么查命令??

        :!which cp

      vi里面怎么导入命令的结果?

        :r !which cp

    可视化模式

      v  可视字符模式

      V(shift+v) 可视行模式,选择多行操作

      ctrl+v 可视块模式(列模式),操作列

      I或者O进入插入模式。

  • 相关阅读:
    【CF720D】Slalom 扫描线+线段树
    【CF724F】Uniformly Branched Trees 动态规划
    【CF725G】Messages on a Tree 树链剖分+线段树
    【CF736D】Permutations 线性代数+高斯消元
    【CF799E】Aquarium decoration 线段树
    【CF739E】Gosha is hunting 贪心
    【CF744D】Hongcow Draws a Circle 二分+几何
    【BZOJ3774】最优选择 最小割
    【BZOJ2138】stone Hall定理+线段树
    【BZOJ4445】[Scoi2015]小凸想跑步 半平面交
  • 原文地址:https://www.cnblogs.com/zhangchao162/p/9613043.html
Copyright © 2011-2022 走看看