zoukankan      html  css  js  c++  java
  • Linux Vim编辑器

     vi的三种模式及各个模式之间的转换关系

     

    Vim编辑器修改配置文件实现  缩进设置  显示行号 等

      vim配置文件默认存在 /etc/vim/vimrc

    在配置文件末尾加上

    set nu
    set autoindent
    set tabstop=4
    set softtabstop=4
    set shiftwidth=4
    

    1.设置制表符宽度
    :set tabstop=4
    :set softtabstop=4
    2.设置缩进的空格数
    :set shiftwidth=4
    3.每行的缩进值与上一行相等
    :set autoindent
    4.使用 C/C++ 语言的自动缩进方式
    :set cindent
    5.显示行号
    :set nu
    6.将搜索内容反白
    :set hlsearch
    7.可以删除任意值
    :set backspace=2

    查找

    1. 在尾行模式下可以开启查找

    /pattern  向下查找

    ?pattern  向上查找

    按 n 可以查找下一个

    替换

    2. 在尾行模式下可以开启sed模式替换

    用法:

    :s/ 表示通过sed命令进行查找替换

    :s/i/- 将本行的第一个i替换为-

    :s/i/-/g最后的一个g表示替换该行的所有i

    :1,10s/i/-/g替换1-10行所有的i-

    :1,$s/i/-/g 末尾行用$表示到文件末尾

    一般模式常用操作
    【h(或向左方向键)】 光标左移一个字符
    【j(或向下方向键)】 光标下移一个字符
    【k(或向上方向键)】 光标上移一个字符
    【l(或向右方向键)】 光标右移一个字符

    【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)
    【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)

      Ctrl + d 向下翻半屏

      Ctrl + u 向上翻半屏

    【[0]或[Home]】 光标移动到当前行的最前面
    【[$]或[End]】 光标移动到当前行的末尾

    【G】 光标移动到文件的最后一行(第一个字符处)
    【nG】 n为数字(下同),移动到当前文件中第n行
    【gg】 移动到文件的第一行,相当于"1G"
    【n[Enter]】 光标向下移动n行

    【/word】 在文件中查找内容为word的字符串(向下查找)
    【?word】 在文件中查找内容为word的字符串(向上查找)
    【[n]】 表示重复查找动作,即查找下一个
    【[N]】 反向查找下一个
    【:n1,n2s/word1/word2/g】 n1、n2为数字,在第n1行到第n2行之间查找word1字符串,并将其替换成word2
    【:1,s/word1/word2/gnword1word2:1,s/word1/word2/g】从第一行(第n行同理)到最后一行查找word1注册,并将其替换成word2【:1,s/word1/word2/gc】 功能同上,只不过每次替换时都会让用户确认

    【x,X】 x为向后删除一个字符,相当于[Delete],X为向前删除一个字符,相当于[Backspace]
    【dd】 删除光标所在的一整行
    【ndd】 删除光标所在的向下n行

    【yy】 复制光标所在的那一行
    【nyy】 复制光标所在的向下n行
    【p,P】 p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴

    【u】 撤消上一个操作
    【[Ctrl] + r】 多次撤消
    【.】 这是小数点键,重复上一个操作

    (五)一般模式切换到编辑模式的操作
    1、进入插入模式(6个命令)
    【i】 从目前光标所在处插入
    【I】 从目前光标
    【a】 从当前光标所在的下一个字符处开始插入
    【A】 从光标所在行的最后一个字符处开始插入
    【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入
    【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入

    2、进入替换模式(2个命令)
    【r】 只会替换光标所在的那一个字符一次
    【R】 会一直替换光标所在字符,直到按下[ESC]键为止
    【[ESC]】 退出编辑模式回到一般模式

    (六)一般模式切换到命令行模式
    【:w】 保存文件
    【:w!】 若文件为只读,强制保存文件
    【:q】 离开vi
    【:q!】 不保存强制离开vi
    【:wq】 保存后离开
    【:wq!】 强制保存后离开
    【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果
    【:set nu】 显示行号
    【:set nonu】 取消显示行号
    【:w newfile】 另存为
    【:set fileencoding】 查看当前文件编码格式
    【:set fileencoding=utf-8】 设置当前文件编码格式为utf-8,也可以设置成其他编码格式
    【:set fileformat】 查看当前文件的断行格式(doswindows,unix或macintosh)
    【:set fileformat=unix】 将当前文件的断行格式设置为unix格式

    (七)文件恢复模式
    【[O]pen Read-Only】 以只读方式打开文件
    【[E]dit anyway】 用正常方式打开文件,不会载入暂存文件内容
    【[R]ecover】 加载暂存文件内容
    【[D]elete it】 用正常方式打开文件并删除暂存文件
    【[Q]uit】 按下q就离开vi,不进行其他操作
    【[A]bort】 与quit功能类似

    (八)块选择(一般模式下用)
    【v,V】 v:将光标经过的地方反白选择;V:将光标经过的行反白选择
    【[Ctrl] + v】 块选择,可用长方形的方式选择文本
    【y】 将反白的地方复制到剪贴板
    【d】 将反白的内容删除

    (九)多文件编辑
    【vim file1 file2】 同时打开两个文件
    【:n】 编辑下一个文件
    【:N】 编辑上一个文件
    【:files】 列出当前用vim打开的所有文件

    (十)多窗口功能
    【:sp [filename]】 打开一个新窗口,显示新文件,若只输入:sp,则两窗口显示同一个文件
    【[Ctrl] + w + j】 光标移动到下方窗口
    【[Ctrl] + w + k】 光标移动到上方窗口
    【[Ctrl] + w + q】 离开当前窗口

    (十二)Dos与Linux的断行字符(文件转化)
    dos2unix [-kn] file [newfile]
    unix2dos [-kn] file [newfile]
    -k:保留该文件原本的mtime时间格式
    -n:保留原本旧文件,将转换后的内容输出到新文件

    (十三)语系编码转化
    iconv --list 列出iconv支持的语系编码
    iconv -f 原本编码 -t 新编码 filename [-o new file]
    -f:from,后接原本的编码格式
    -t:to,后接新编码格式
    -o file:可选参数,建立新文件

    例:将/tmp/a.txt从big5编码格式转换成utf8编码格式:
    iconv -f big5 -t utf8 /tmp/a.txt -o new.txt

     
    原文 https://www.cnblogs.com/jiayongji/p/5771444.html
  • 相关阅读:
    linux网络编程之扫盲
    当lov变化时得到lov变化的值
    动态设置OAMessageChoiceBean值
    RSA host key for HOST has changed and you have requested strict checking
    64位整数的编译错误
    CSS让内容水平居中(固定宽度)
    如何计算亮度值
    adb新参数支持Android 2.2安装到SD卡上
    NSDateFormatter formatting
    Win7系统下Safari不能打开网页的解决方法
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/8339807.html
Copyright © 2011-2022 走看看