zoukankan      html  css  js  c++  java
  • VIM入门

    目录
    一、vim介绍
    二、vim颜色显示和移动光标
    三、vim一般模式下移动光标
    四、vim一般模式下复制、剪切和粘贴
    五、进入编辑模式
    六、vim命令模式
    七、vim实践


    一、vim介绍

    vi是最重要的unix及类unix操作系统的文件编辑器,vi编辑器由Bill Joy于1976年创建。vim是vi的改进版。

    vim的安装:yum -y install vim-enhanced

    vim的启动:直接在命令行输入vim或vim filename(想要编辑的文件名)

    vim的三种模式

    1.一般模式:控制屏幕光标的移动、删除、复制某处的文件或行

    2.插入模式:进行文件输入

    3.命令模式:即可以保存文件或退出vim,也可以设置编辑环境。

    三种模式的关系

    2ER6R.jpg


    二、vim颜色显示和移动光标

    vi默认不带颜色高亮,而vim默认是自带文件颜色高亮效果。但是位置不同,cp后的颜色不一定还存在,颜色跟具体内容有关系。

    命令模式光标移动

    按键 功能说明
    h或向左箭头键 光标向左移动一个字符
    j或向下箭头键 光标向下移动一个字符
    k或向上箭头键 光标向上移动一个字符
    l或向右箭头键 光标向右移动一个字符

    三、vim一般模式下移动光标
    按键 功能说明
    pagedown、ctrl+f 屏幕向下移动一页
    PageUp、ctrl+b 屏幕向上移动一页
    G 移动到文件的最后一行
    nG 移动到文件的第n行
    gg 移动到文件的第一行
    0 移动到当前行的第一行字符
    $ 移动到当前行的最后一个字符
    n↓ 向下移动n行

    四、vim一般模式下复制、剪切和粘贴

    命令行模式删除、复制、粘贴的方法

    按键 功能说明
    x 向后删除一个字符
    X 向前删除一个字符
    nx 连续向后删除n个字符
    dd 删除当前行
    ndd 删除包括当前行在内的向下n行
    d1G 删除当前行之前的所有数据
    dG 删除当前后的所有数据
    d$ 当前行中,删除光标至最后一个字符的数据
    d0 当前行中,删除该行第一个字符至光标所在位置的数据
    yy 复制当前行
    nyy 复制包含当前行在内的向下n行数据
    y1G 复制当前行之前的所有数据
    yG 复制当前行之后的所有数据
    y0 复制光标所在的那个字符到该行行首的所有数据
    y$ 复制光标所在的那个字符到该行行尾的所有数据
    p 将已复制的数据粘贴到当前行的下一行
    P 将已复制的数据粘贴到当前行的上一行
    u 撤销上一个动作
    [ctrl] + r 重做上一个动作
    . 重复上一个动作

    块选择的按键意义

    按键 功能
    v 字符选择,会将光标经过的地方高亮选择
    V 行选择,会将光标经过的行高亮选择
    ctrl+v 块选择,可以用长方形的方式选择
    y 复制高亮选择的区域内容
    d 删除高亮选择的区域内容

    五、进入编辑模式

    进入编辑模式的方法

    按键 功能说明
    i 在当前光标所在位置插入文字,已存在的内容会向后退
    I 在当前行的第一个非空格字符处插入文字
    a 从目前光标所在的下一个字符处开始插入
    A 从光标所在行的最后一个字符处开始插入
    o 从光标目前所在行的下一行处插入新的一行
    O 从光标目前所在行的上一行处插入新的一行
    r 取代光标所在的那个字符
    R 一直取代光标所在的文字,直到按下Esc键

    六、vim命令模式

    常用操作说明

    按键 说明
    :w 保存,将修改后的内容保存
    :w! 强制保存,当文件属性为只读时可以使用这种方法来强制写入
    :q 退出
    :q! 强制退出,并且不保存所修改的内容
    :wq 保存后退出
    :e! 将文件还原到最初始的状态
    ZZ 如果文件没有被修改则不保存离开,如果已修改则保存离开
    :w [filename] 将修改后的文件另存为其他文件
    :r [filename] 在编辑的文件中,读入另一个文件的内容
    :n1,n2 w[filename] 将n1到n2的内容保存为filename这个文件
    :! command 暂时离开vi到指令模式下执行命令command
    :set nu 显示行号
    :set nonu 取消显示行号
    n 重复前一个搜寻动作
    N 反向进行前一个搜寻动作
    :n1,n2s/word1/word2/g 在第n1与n2行之间查找word1字符串,并将该字符串替换为word2
    :n1,n2s/word1/word2/gc 与以上内容相同,但是在替换之前请用户确认是否需要替换

    七、vim实践

    实践文件生成

    man vi > temp

    下述实践操作基于temp文件

    1. 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k)
    2. 分别向下、向上翻两页(分别按两次ctrl+f和ctrl+b或分别按两次PageUp和PageDown)
    3. 把光标移动到49行(49G)
    4. 把光标移动到行尾,再移动到行首(shift+4或$,shift+6或0)
    5. 移动到temp文件的最后一行(G)
    6. 移动到文件的首行(gg)
    7. 搜索文件中出现的"vim",并数一下该字符出现的次数(/vim 然后按n)
    8. 把从第1行到第10行出现的vim替换成gedit(:1,10s/vim/gedit/g)
    9. 还原上一步操作(u)
    10. 把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)
    11. 把光标移动到第20行,删除字符串"editor"(20G,然后按l向右移动光标找到editor,dw删除)
    12. 还原上一步操作(u)
    13. 删除第50行(50G dd)
    14. 还原上一步操作(u)
    15. 删除第37-42行的所有内容(37G 6dd)
    16. 还原上一步操作(u)
    17. 复制第48行的内容并粘贴到第52行(48G yy 52G p)
    18. 还原上一步操作(u)
    19. 复制第37-42行的内容并粘贴到第44行上面(37G 6yy 44G P大写)
    

    vim快速删除一段字符

    http://www.apelearn.com/bbs/thread-842-1-1.html

    vim乱码

    http://www.apelearn.com/bbs/thread-6753-1-1.html

    用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入

    :set noai nosi

    然后按'i' 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。

    有时候,这样的方法不好用,可以尝试这种:

    :set paste

    数字小键盘问题

    小键盘问题

    http://www.apelearn.com/bbs/thread-7215-1-1.html

    在putty上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。解决方法

    选项Terminal->Features里,找到Disable application keypad mode,选上就可以了

    在xmanager 4 中的xshell也有小键盘问题 解决方法为

    修改session 属性 -> 终端->VT模式->初始数字键盘模式

    选择 设置为普通。

    2rAia.png

    vim加密

    http://www.apelearn.com/bbs/thread-7750-1-1.html

    Linux用vim/vi给文件加密和解密

    一、利用 vim/vi 加密:

    优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了;

    缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除;

    vi编辑器相信大家都很熟悉了吧,vi里有一个命令是给文件加密的,举个例子吧:

    1)首先在root主目录/root/下建立一个实验文件text.txt:

    [root@www ~]# vim/vi text.txt

    2)进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车;

    3)这时系统提示让你输入密码,2次,如下所示:

    
    输入密码: *******
    
    请再输入一次: *******
    
    

    4)保存后退出,现在这个文件已经加密了;

    5)用cat或more查看文件内容,显示为乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码!

    注意:文件加密后,千万别忘了密码!

    二、解密用vi加密的文件(前提是你知道加密的密码):

    1)用 vim/vi 打开文件如text.txt,要输入正确的密码,然后在编辑时,将密码设置为空,方法是输入下面的命令:

    :set key=

    然后直接回车,保存文件后,文件已经解密了。

    2)或者这样也行:

    在正确打开文件后用 “:X” 指令,然后给一个空密码也可以。保存用“wq!”保存。

    两种方法实际上效果是一样的。

    vim cheat sheat

    Vim cheat sheet参考
    Vim cheat sheet参考1

    参考
    https://coolshell.cn/articles/5426.html
    http://michael.peopleofhonoronly.com/vim/

  • 相关阅读:
    转移阵地啦
    春之感--3月10日
    小鱼儿
    关于时间方法(date和simpledateformat)的实验
    hadoop练习处理地震数据
    出现log4j.properties问题
    远程hadoop集群方法
    小W学物理
    灵知的太阳信仰
    Blue
  • 原文地址:https://www.cnblogs.com/minn/p/9087183.html
Copyright © 2011-2022 走看看