• vim相关


    粘贴复制缩进错乱:

    :set paste
    

     进入粘贴模式,就ok了

    具体操作,记下常用的,备用:转载自

    表 1. 启动及关闭 Vi/Vim 的基本命令
    功能命令说明
    启动 vi 打开 Vi/Vim
    vi <file> 打开 Vi/Vim 并加载文件 <file>
     
    退出 ZQ 无条件退出
    :q! 无条件退出
    ZZ 存盘并退出
    :wq 存盘并退出
     
    保存部分文件 :m,nw <file> 将 m 行到 n 行部分的内容保存到文件 <file> 中
    :m,nw >> <file> 将 m 行到 n 行的内容添加到文件 <file> 的末尾

    定位:

     操作单位命令说明
    字符 h 左移一字符
    l 右移一字符
     
    单词 w/W 移动到下一单词的开头
    b/B 移动到上一单词的开头
    e/E 移动到光标所在单词的末尾
    W、B、E 命令操作的单词是以空白字符(空格、Tab)分隔的字串,比如字符串“str1-str2 str3-str4”,对 W、B、E 命令来说是两个单词,而对 w、b、e 命令来说则是四个单词。
    j 下移一行
    k 上移一行
    0 移到当前行开头
    ^ 移到当前行的第一个非空字符
    $ 移到当前行末尾
    :n 移动到第 n 行
    0 为数字零(zero)
    句子 ) 移动到当前句子的末尾
    ( 移动到当前句子的开头
     
    段落 } 移动当前段落的末尾
    { 移到当前段落的开头
     
    H 移动到屏幕的第一行
    M 移动到屏幕的中间一行
    L 移动到屏幕的最后一行
     
    Ctrl-f 向前滚动一页
    Ctrl-b 向后滚动一页
    Ctrl-u 向前滚动半页
    Ctrl-d 向后滚动半页
     
    文件 G 移动到文件末尾
    gg 移动到文件开头
    :0 移动到文件第一行
    :$ 移动到文件最后一行
    0 为数字零(zero)
    括号 % 跳转到与之匹配的括号处

    文本编辑

      

    表 3. 文本编辑的基本命令
    操作单位命令说明
    字符 x 删除光标位置的字符
    c 更改当前字符并进入插入模式
    s 替换光标位置的字符并进入插入模式
    r 替换光标位置的字符但不进入插入模式
    i 在当前位置的字符之前进入插入模式
    a 在当前位置的字符之后进入插入模式
     
    单词 cw/cW 删除当前单词从光标开始的部分并进入插入模式
    cb/cB 删除当前单词从光标所在位置至单词开始的部分并进入插入模式
    dw/dW 删除当前单词从光标开始的部分但不进入插入模式
    db/dB 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式
    cW、cB、dW、dB 命令操作的单词是以空白字符(空格、Tab)分隔的字串,比如字符串“str1-str2 str3-str4”,对 cW,cB,dW,dB 命令来说是两个单词,而对 cw、cb、dw、db 命令来说则是四个单词。
    dd 删除当前行
    d0 删除从当前光标开始到行末的内容
    d$ 删除从当前光标开始到行末的内容
    I 在当前行的行首进入插入模式
    A 在当前行的行尾进入插入模式
    o 在当前行下方另起一行进入插入模式
    O 在当前行上方另起一行进入插入模式
    • d0 命令中的 0 为数字零
    • o 为小写英文字母 [əu]
    • O 为大写英文字母 [əu]
    句子 d) 删除当前句子从光标位置开始到句末的内容
    d( 删除当前句子从光标位置开始到句首的内容
     
    段落 d} 删除当前段落从光标位置开始到段末的内容
    d{ 删除当前段落从光标位置开始到段首的内容
     
    表 4. 文本编辑的高效命令
    功能命令说明
    复制与粘贴 yw 复制当前单词从光标开始的部分
    yy 复制光标所在行的所有字符
    p 将最后一个删除或复制文本放在当前字符
    P 将最后一个删除或复制文本放在当前字符之前
    配合操作数使用可快速拷贝编辑文本
    撤消与重做 u 撤消更改
    Ctrl-R 重做更改
    非常实用的一个命令
    重复操作 . 重复上次操作
    • . 为小数点(dot)
    • 配合光标移动命令使用;
    • 不用重复输入先前的复杂命令即可在不同的地方做同样的操作,有点象 MS Office 的格式刷
    交换相邻字符或行 xp 交换光标位置的字符和它右边的字符
    ddp 交换光标位置的行和它的下一行
     
    大小写转换 ~ 将光标下的字母大小写反向转换
    guw 将光标所在的单词变为小写
    guw 将光标所在的单词变为小写
    gUw 将光标所在的单词变为大写
    guu 光标所在的行所有字符变为小写
    gUU 光标所在的行所有字符变为大写
    g~~ 光标所在的行所有字符大小写反向转换
     
    取得外部输入 : r!<cmd> 将命令 <cmd> 的输出结果插入到当前光标所在位置
    :r <file> 将文件 <file> 读入到当前光标所在位置
     
    排序 :1,$!sort 将文件内的所有内容排序  
    加入行号 :%!nl 在所有非空行前加入行号
    :%!nl -ba 在所有行前加入行号
    利用 Linux 命令 nl 来实现的
    缩进 >> 右缩进(可配合操作数使用)
    << 左缩进(可配合操作数使用)
    配合操作数使用,在编辑源码的时候非常有用。
    自动补全 Ctrl-p 自动补全 在编写代码的时候非常有用。比如,输入 prin 后按 Ctrl-p 将自动帮你输入 printf 函数名后面的部分,同时将相关备选函数在底下列出来。
    显示当前编辑文件名 Ctrl-g 显示当前编辑文件名及行数 可以在不退出 Vi/Vim 情况下了解当前编辑文件的信息
    显示字符内码 ga 显示光标所在字符的内码(包括十进制码,十六进制码以及八进制码) 显示的内码为当前 encoding 下的内码

    文本搜索与替换

       Vi/Vim 用于文本搜索的主要有下面的三个基本命令:

    表 5. 文本搜索的基本命令
    功能命令说明
    搜索 / 在文件中向前搜索
    ? 在文件中向后搜索
    • 可使用正则表达式
    • 可配合操作数使用,比如 3/str 向前搜索字串 str 并将光标移到第三个找到的串
    搜索下一个 n 搜索下一个
    N 反向搜索下一个
    • 可使用正则表达式
    • 可配合操作数使用,比如命令 3N 反向搜索第三个匹配的字符串
    表 6. 文本搜索的高效命令
    功能命令说明
    快速搜索 * 在文件中向前搜索当前光标所在的单词
    # 在文件中向后搜索当前光标所在的单词
    非常快捷的搜索命令
    显示搜索命令历史 q/ 显示搜索命令历史的窗口
    q? 显示搜索命令历史的窗口
    可以选择重用以前用过的搜索查找命令
    查找帮助 Shift-k 查找光标所在命令或函数的 man 帮助
    • 可以在不退出 Vi/Vim 情况下快速查询命令或函数的使用方法;
    • 按 q 键退出 man 帮助
    表 8. Vi/Vim 设置命令
    功能命令说明
    查看设置的当前值 :set all 查看 vi 或 Vim 中设置的所有选项的当前值
    :set <option>? 查看特定选项 <option> 的当前值
     
    设置行号显示与否 :set number 显示行号
    :set no number 取消行号显示
    命令的简写形式:
    :set nu
    :set no nu
    设置自动缩进 :set autoindent 设置自动缩进
    :set no autoindent 取消自动缩进设置
    命令的简写形式:
    :set ai
    :set no ai
    设置缩进宽度 :set shiftwidth=4 设置缩进宽度为 4 命令的简写形式:
    :set sw=4
    设置大小写忽略与否 :set ignorecase 设置忽略大小
    :set no ignorecase 取消忽略大小设置
    命令的简写形式:
    :set ic
    :set no ic
    设置不可见字符显示与否 :set list 显示不可见字符
    :set nolist 取消显示不可见字符设置
    在显示不可见字符的情况下,TAB 键显示为 ^I,而 $ 显示在每行的结尾。
  • 相关阅读:
    3.5——课题选择
    3.8——K-th Substring
    01背包dp
    贪心——IQ
    Secret Project Gym
    快速幂&矩阵快速幂
    用栈非递归实现fib数列
    CodeForces Round #590 (Div 3)
    SQL Server常见问题
    SQL基础函数
  • 原文地址:https://www.cnblogs.com/maggie94/p/6838149.html
Copyright © 2020-2023  润新知