zoukankan      html  css  js  c++  java
  • Linux-vim

    最近不忙,鉴于之前的服务器老是出问题,就决定平常多补补Linux知识.希望下次能派上用场.

    学习视频是在B站上的

    史上最牛的Linux视频教程—兄弟连

    学习使用的环境:

    视频学习系统:CentOS5.1

    实操系统:CentOS7.8 2003

    先说一下前段时间学习收获的内容:

    权限系统:
    对于文件,r可以查看文件内容,w可以修改文件内容,x可以执行文件;
    对于目录,r可以列出目录中的内容,w可以再目录中创建、删除文件,x可以进入目录;


    i节点的冷门用处:
    1.根据i节点查看所有文件的硬链接(i节点相同)
    2.根据i节点强行删除删除不掉的文件,具体命令:

    find dirpath -inum inode -exec/ok rm {} ;

    下面就是今天最主要的VIM 的使用方法,真正要熟练掌握还是要多多实操.

    一、命令模式下

    1. gg 快速定位到文章的首行,G 快速定位到文章的末行,nG,到n行
    2. 0快速定位到句首,$快速定位到句末
    3. r替换光标所在内容(仅仅是一个),R替换光标及光标后面的内容,直到按ESC退回命令模式.
    4. x删除光标所在内容(可持续向后删除),nx 删除包含光标所在及后面的n-1个字符(共删除n个字符)
    5. u 撤销上一步操作
    6.1 dd 剪切/删除光标所在行(可持续向下删除),ndd 剪切/删除包含光标所在行及下面n-1行(共删除n行)
    6.2 D 剪切/删除光标所在字符到行尾内容(删除后光标自动前移一个字符)
    7. yy 复制光标所在行, nyy 复制光标所在行及以下n-1行(共复制n行)
    8. p 粘贴在光标所在行下,P 粘贴在光标所在行上
    9.ZZ 快捷键,保存修改并推出(如果没有权限将无法保存退出,这里发现一个奇怪的事,当你强制使用wq!保存退出的时候,文件的所属人和所属组都变成了当前用户的信息)

    二、插入模式
    1. a在光标所在字符后面插入,i在光标所在字符前面插入,o在光标所在行下插入新行.
    2. A在光标所在行尾插入,I在光标所在行首插入,O在光标所在行上插入新行
     

    三、编辑模式
    1.命令模式下按":"进入编辑模式
    2.设置行号

    :set nu

    ,取消行号

    :set nonu

    3.快速到第n行:n,如快速定位到第10行

    :10

    4./string 搜索指定字符串,如在文中搜索关键字"xiaoming"

    :/ xiaoming

    如果需要忽略大小写

    :set ic

    5.删除指定的行:n1,n2d,如删除第10到15行

    :10,15d

    6.全文替换指定字符串,如将全文中的old替换为new.      如果把g改成c,则每次替换都会询问是否替换

    :%s/old/new/g

    在指定行内替换指定字符串,如将第20行到第24行的old替换为new.如果把g改成c,则每次替换都会询问是否替换

    :20,24s/old/new/g,

    7. r 文件路径, 可以把文件内容导入到当前光标所在的位置,比较常用的做法是在某个路径下存放作者的个人信息(姓名,电话,邮箱之类的),在需要的时候可以插入文档内.

    :r /etc/issue
    :r /home/gg/myinfo

    8. ! 在不退出vim的情况下使用命令,如下,之后可以按ENTER,继续使用vim

    :!ls
    :!which ls

    9. 7和8搭配使用,比较经常用的就是使用vim在文章内插入当前时间

    :r !date

    10.定义快捷键: 使用快捷键把光标所在行注释(即在光标所在行行首加'#')

    :map ^P I#<ESC>

    (注意^P是按住ctrl+V+P,或者先按ctrl+v,再按ctrl+p),定义好该快捷键后,则在命令行,按ctrl+p 则会在光所所在行的行首插入(I)(#),并退回到命令行(<ESC>),也就是将光标所在行变为注释.

    同理,去掉注释的快捷键设置如下:        实测有bug,当注释前面有空格的时候,会先删除空格.

    :map ^P 0x<ESC>

    11.1 连续行注释 

    :n1,n2s/^/#/g

    11.2 连续行取消注释 

    :n1,n2s/^#/ /g

    11.3 连续行行首添加双斜杠(需要转义符)

    :n1,n2s/^///g

    12.替换

    : ab mymail/mytel xxxx@yyyy/123123123

    (需要提前设置,对已有的内容不生效,也就是说文本中原有的mymail不会替换,只有在输入该命令后,再输入mymail/mytel,才会被自动替换成xxxx@yyyy/123123123,而在输入该命令前的内容中,如果存在mymail/mytel,则仍会以mymail/mytel的内容存在)

    13.  另存为指定文件

    w new_filename

    四、可以通过修改/root/.vimrc 的配置文件(以root为例子,普通用户的配置文件在/home/xxx/.vimrc)使得命令或者快捷键永久生效

    vim /root/.vimrc
    1 set nu
    2 ab mymail abc@123.com
  • 相关阅读:
    HDU-2072-单词数(字典树)
    HDU-1251-统计难题(字典树)
    POJ-3630-Phone List(字典树)
    Acwing-204-表达整数的奇怪方式(扩展中国剩余定理)
    Acwing-203-同余方程(扩展欧几里得)
    Acwing-202-最幸运的数字(同余, 欧拉定理)
    Acwing-201-可见的点(数学, 欧拉函数)
    sql2014 新建用户并登陆
    sql修改约束语法练习
    java中static作用详解
  • 原文地址:https://www.cnblogs.com/yungiu/p/15508902.html
Copyright © 2011-2022 走看看