zoukankan      html  css  js  c++  java
  • Linux学习,Vim以及Vi常用快捷键

    VIM配置文件路径:

    /etc/vmrc ===> 系统配置文件路径

    ~/.vimrc ===> 当前用户配置文件路径

    $VIM ===> 与VIM配置文件相关的变量

    进入插入模式:

    i  === > 从目前光标所在处插入

    I  === > 在目前所在列的第一个非空白字符处开始插入

    a === > 从目前光标所在的下一个字符处开始插入

    A === > 从光标所在列的最后一个字符处开始插入

    o === > 在目前光标所在的下一列处插入新的一列

    O  === > 为在目前光标所在处的上一列插入新的一列

    进入取代模式:

    r  === > 取代光标所在的那一个字符一次

    R ===> 一直取代光标所在的文字,直到按下 ESC 为止

    VIM键盘图:

    一、保存退出

    w === > 保存文件

    w! === > 若文件为只读,强制保存文件

    q == => 离开vi

    q! == => 不保存强制离开vi

    wq == => 保存后离开

    wq! == => 强制保存后离开

    ! [command]== => 暂时离开vi到命令行下执行一个命令后的显示结果

    注意:command 是一个linux 指令

    write [filepath] == => 另存为指定路径的指定文件

    w [filepath] == => 另存为指定路径的指定文件

    注意:filepath 是一个文件名(如果不带路径,默认为当前路径)

    二、全局参数

    set fileencoding ===> 查看当前文件编码格式

    set fileencoding=utf-8 ===> 设置当前文件编码格式为utf-8,也可以设置成其他编码格式

    set fileformat ===> 查看当前文件的断行格式(doswindows,unix或macintosh)

    set fileformat=unix ===> 将当前文件的断行格式设置为unix格式

    三、设置取消高亮

    set hlsearch ===> 设置高亮

    set nohlsearch ===> 取消高亮

    nohlsearch ===> 取消高亮

    四、设置取消行号

    set number ===> 设置行号

    set nonumber ===> 取消设置行号

    五、光标、屏幕焦点

    h、j、k、l ===> 控制光标的上下左右移动

    w ===> 向后移动一个单词,从词头到词头

    e === > 向后移动一个单词,从词尾到词尾

    b === > 向前移动一个单词,从词头到词头

    Ctrl+F ===> 向前滚动一屏

    Ctrl+B ===> 向后滚动一屏

    Ctrl+D ===> 向前滚动半屏(向下)

    Ctrl+U ===> 向后滚动半屏(向上)

    Ctrl+E ===> 向下滚动一行,保持当前光标不动

    Ctrl+Y ===> 向上滚动一行,保持当前光标不动

    当前行滚动:

    z+Enter ===> 当前行移动到屏幕顶部并滚动

    nz+Enter ===> 滚动指定行到屏幕顶部

    z + . === > 当前行移动到屏幕中央并滚动

    z + - === > 当前行移动到屏幕底部并滚动

    注意:以上的 + 是连接的意思,并不需要键盘输入

    当前屏幕操作:

    H ===> 移动到当前屏幕首行

    nH ===> 移动到当前屏幕首行下的第n行

    M ===> 移动到当前屏幕中间行

    L ===> 移动到当前屏幕末行

    nL ===> 移动到当前屏幕末行上面的第n行

    六、跳转

    nG ===> 跳转到第n行

    gg ===> 跳转到行首

    G ===> 跳转到行尾

    n<space> ===> 光标向右移动n个字符

    n<Enter> ===> 光标向下移动n行

    七、缩进

    命令行缩进:

    [start]   ,   [end]   >   [Enter] ===> 将从 start 行到 end 行的数据缩进一个 TAB

    [start]   ,   [end]   <   [Enter] ===> 将从 start 行到 end 行的数据取消缩进

    注意:

    1.start、end是数字,代表起始和终止行号

    2.Enter代表回车,不是指输入该字符,而是指回车执行功能

    3.> 和 < 是一个字符,需要靠键盘输入该字符

    可视模式缩进:

    将光标移动到需要缩进的起始行,进入可视化模式,然后控制键盘上的上下左右选中要缩进的行, 输入 >  或 <  设置或取消缩进

    八、撤销、恢复

    u ===> 撤销

    ctrl + r ===> 恢复撤销

    . (小数点) ===> 重复上一个操作

    九、复制、移动

    yy ===> 复制光标所在行的数据

    nyy ===> 复制光标所在的向下n行的所有数据

    注意:n为数字

    y1G ===> 复制第一行到光标所在行的所有数据

    yG ===> 复制光标所在行到最后一行的所有数据

    ggyG ===> 全部复制

    p(小写) ===> 将已复制的数据粘贴到光标所在的下一行

    P(大写) ===> 将已复制的数据粘贴到光标所在的上一行

    光标移动到起始行按   y'a   然后光标移动到结束行按   ma   最后按  [p | P] 粘贴

    [start]   ,   [end]   copy   [destination] ===> 复制从start行到end行的内容到第destination

    [start]   ,   [end]   co   [destination] ===> 复制从start行到end行的内容到第destination

    [start]   ,   [end]   move   [destination] ===> 移动从start行到end行的内容到第destination

    注意:

    1.以上的 [start]、[end]、[destination] 均为数字

    2.移动操作还可以结合删除(如dd等)指令和粘贴(p、P)指令实现

    十、可视化模式

    v ===> 字符可视化模式

    V ===> 行可视化模式

    ctrl + v ===> 块可视化模式

    注意:进入可视化模式后,可以通过上下左右箭头控制被选范围

    gg ===> 选中从文件开始到当前光标所在位置的数据

    G ===> 选中从当前光标开始到文件结尾的数据

    g? ===> 使用 rot 13 算法加密、解密选中的数据

    u ===> 将选中的数据全部小写

    U ===> 将选中的数据全部大写

    J ===> 对选中的行进行合并,中间以空格隔开

    gJ ===> 对选中的行进行合并,中间没有间隔符

    sort ===> 对选中的数据按行进行排序

    w ===> 高亮显示(选中)到下一个单词的开头

    $ ===> 包含该行的其余部分

    d ===> 剪贴选中数据(不包含光标所在字符)

    D ===> 剪贴选中数据(包含光标所在字符)

    x ===> 删除选中数据(不包含光标所在字符)

    X ===> 删除选中数据(包含光标所在字符)

    y ===> 复制选中数据(不包含光标所在字符)

    Y ===> 复制选中数据(包含光标所在字符)

    p ===> 粘贴复制内容到当前字符前

    P ===> 粘贴复制内容到当前字符后

    u ===> 撤销更改

    > ===> 缩进一个TAB

    < ===> 取消缩进

    十一、插入

    r  [filepath] ===> 在当前光标所在行的下一行插入 filepath 文件中的内容

    注意:

    filepath为文件名,若没有指明路径,则默认读取当前目录下的filepath文件

    十二、删除

    dd === > 删除光标所在的那一行

    ndd === > 删除光标所在的向下n行

    x === > 向后删除一个字符

    X === > 向前删除一个字符

    nx === > 向后删除连续的n个字符

    注意:n为数字

    d1G === > 删除第一行到光标所在处的所有数据

    dG === > 删除光标所在处到最后一行的所有数据

    十三、查找

    / [word] ===> 向下查找[word]关键字
    ? [word] ===> 向上查找[word]关键字
    n ===> 重复查找动作,即查找下一个
    N ===> 重复查找动作,反向查找下一个

    注意:以上的 n、N 为字符,并不是数字

    ctrl + g ===> 显示当前光标所在位置占整个文件的比重

    % ===> 跳转到当前括号(包括'('   '['    '{'    ')'    ']'    '}'   )的配对括号所在的位置

    十四、替换

    r ===> 替换选中的字符或字符串

    详解:

    光标选中要替换掉的字符(可以结合可视化模式选中多个字符),按下 r 键进入替换模式,再次输入一个字符替换掉被选中的字符,若选中多个字符,则每个字符都会替换成输入的从键盘输入的字符

    cw ===> 删除从当前光标开始到下一个单词开始的数据,并进入插入模式,即俗称的 替换单词

    详解:

    c 即 change,意思是改变,w 即 word,意思是一个单词。同理 c2w、c3w、......也是这个道理

    c$ ===> 删除从当前光标开始到行尾的数据,并进入编辑模式

    s/old/new ===> 在当前光标所在行内替换头一个字符串 old 为新字符串 new

    s/old/new/g === >在当前光标所在行内替换所有的字符串 old 为新字符串 new  

    .,$  s/old/new/g === > 从当前光标开始到文件结尾替换old字符串为new

    n,$  s/old/new/g === > 从第 n 行开始到文件结尾替换old字符串为new

    %s/old/new/g ===> 在整个文件内替换所有的字符串 old 为新的字符串 new  

    g/old/s//new/g ===> 在整个文件内替换所有的字符串 old 为新的字符串 new

    s/old/new/gc === > 替换old为new时会询问用户

    注意:

    不加 g,表示只对搜索字符串的首次出现进行替换

    g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作

    g 放在命令末尾,表示对搜索字符串的每次出现进行替换

    十五、执行外部命令

    ! [command] ===> 执行外部命令,输完命令后需要回车执行

    注意:

    command 是指Linux Shell命令,不是让你从键盘输入command

    详解:

    按ESC进入命令模式后,输入 ! 然后再输入一个Linux命令回车即可执行,再次回车后返回Vim

  • 相关阅读:
    字节和字符,对信息进行编码
    关于TCP的可靠性
    TCP和流
    Socket:流,TCP连接,TCP可靠性概述
    C#中的泛型 Part1
    C# 泛型理解0
    2010 Stanford Local ACM Programming ContestH解题报告
    母函数模板
    poj 1385Lifting the Stone解题报告
    poj 1015Jury Compromise解题报告
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700512.html
Copyright © 2011-2022 走看看