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

  • 相关阅读:
    SQL Server, Timeout expired.all pooled connections were in use and max pool size was reached
    javascript 事件调用顺序
    Best Practices for Speeding Up Your Web Site
    C语言程序设计 使用VC6绿色版
    破解SQL Prompt 3.9的几步操作
    Master page Path (MasterPage 路径)
    几个小型数据库的比较
    CSS+DIV 完美实现垂直居中的方法
    由Response.Redirect引发的"Thread was being aborted. "异常的处理方法
    Adsutil.vbs 在脚本攻击中的妙用
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700512.html
Copyright © 2011-2022 走看看