zoukankan      html  css  js  c++  java
  • linux vi 编辑器的学习

    1.为什么要学习vi?

    因为vi是所有 UNIX-like 系统都会默认内置的文本编辑器,而且很多程序都调用vi的接口进行编程,所以学了不亏。

    VIM是VI的高级版本,多了代码高亮等一些高级功能。

    2.VI的模式

    总共有三种: 一般命令模式,编辑模式,命令行模式

    刚进入一个文件就是一般命令模式,按下 i l o O a A r R 进入编辑模式,可以操作文本,按下ESC退出编辑模式,在编辑模式按 : 则进入命令行模式,可以输入特定命令执行替换,查找,退出等操作。

     3.常用命令

    [n] + h j k l 分别往左 下 上 右 移动 n 个字符

    PAGEUP  上一页  PAGEDOWN  下一页

    [n] + <space> 往后移动 n 个字符

    HOME 光标所在行的第一个字符  END 光标所在行的最后

    G 移动到最后一行  [n]G 移动到第n行  gg 移动到第一行,相当于 1G  [n]<ENTER>  往下移动 n行

    /[word]   查找关键字 word     查找到后按n则查找下一个  大写N  上一个 

    :[n1],[n2]s/[word1]/word2/g 在 第  n1 到 n2 行中查找 word1 并替换为 word2

    :1,$s/[word1]/word2/g  第  1 到 最后 行中查找 word1 并替换为 word2

    :1,$s/[word1]/word2/gc  第  1 到 最后 行中查找 word1 并替换为 word2,带有确认选项

    x 后删除一个字符  X 前删除一个字符  [n] x 后删除n个字符

    dd 删除一行 [n]dd 删除n行 d1G 删除光标到第一行  dG 光标到最后  d$ 光标到该行最后 d0 光标到该行开始

    以上删除都带有剪切

    yy 复制当前行  [n]yy 向下复制n行 y1G yG y$ y0 同删除

    p P 向上/下粘贴

    J 该行和下一行合并   u 撤销  [Ctrl] + r 前进

    小数点  .   重复前一个操作

    i I 当前光标插入,I 所在行第一个非空格符开始插入

    a A  光标所在下一个字符插入  A 所在行最后一个字符插入

    o O 插入新行, O 上一行插入

    r R 只替换一个字符 大写 无限制

    :w 写入硬盘,相当于保存 :w! 强制写入和权限有关  :q 退出 :q! 强制退出 :wq 保存后退出 

    ZZ 有修改则保存退出,否则不保存退出  :w[filename] 保存成另一个文件 :r [filename] 追加filename 的内容到光标后

    :set nu  设置行 :set nonu 取消行

    :! [commond]  暂时退出执行 commond命令

    4. 缓存的处理

    如果在编辑vim的时候意外关闭,会生成,XXX.swp缓存文件,这时候重新打开会出现报错界面

    解决方法: O 只读方式打开 E 编辑方式打开 R 加载缓存  D 删除缓存 Q 退出vim A 忽略

    个人觉得,没用直接rm -rf 删了吧,这样就不会一直提示报错界面了

     

    5.可视区块

    v 选中光标经过的地方  V 选中光标经过的行  Ctrl + v 矩阵选中  y 复制选中的地方 d 删除选中的地方  p 粘贴

    6.vim编辑多个文件

    vim hosts /etc/hosts 后面加多个文件就可以同时编辑多个文件

    :n 编辑下一个文件 :N 编辑上一个文件 :files 列出正在编辑的文件

    7.多窗口功能

    :sp [filename] 即可在当前界面打开filename的内容

    可以通过 Ctrl + w + j/方向键下     Ctrl + w + k/方向键下上  上移或者下移

    :close关闭当前窗口  Ctrl + w +q 不知道为啥没用

    8.补全功能

    Ctrl + x 然后输出 Ctrl + n 文件内容作为关键字补全

    Ctrl + x 然后输出 Ctrl + n目录文件名作为关键字补全

    Ctrl + x 然后输出 Ctrl + o 拓展名语法补充补全 比如在html文件中,输入style 然后紧跟着输入b,执行命令后就会出现 background等单词.

    9. 换行转换

    Dos系统和Linux系统的换行符号不同,会造成在Dos系统编辑的文件在linux无法运行

    使用 dos2unix unix2dos 来互相转换

    9.编码转化

    iconv -f utf8 -t gbk welcome.txt -o welcomt_gbk.txt

    把utf8编码的welcome.txt 转化为 gbk编码的welcome.txt,并  -o 保留源文件

  • 相关阅读:
    HttpClient(4.3.5)
    HttpClient(4.3.5)
    HttpClient(4.3.5)
    Apache Commons 简述
    树形结构在关系数据库中的设计
    JDK Tools
    JDK Tools
    Linux中Shell循环结构for用法笔记
    Linux有关Shell中if用法笔记
    Linux有关Shell中if用法笔记
  • 原文地址:https://www.cnblogs.com/lishuaiqi/p/15032787.html
Copyright © 2011-2022 走看看