vim编辑器 day3


配置vimrc配置
在shell中可以通过 `vim ~/.vimrc` 或者 `vim /etc/vimrc` 打开vimrc文件对vim进行配置。在这个文件中可以进行很多和vim相关的配置,常用的如下(如果对其他配置感兴趣的可以自己百度):

```
syntax on   " 语法高亮 
set number  " 设置显示行号
set tabstop=4   " 设置一个tab键对应4个空格
set ruler   " 显示光标位置信息
set cursorline      " 突出显示当前行
set autoindent  " 自动缩进
```


常用操作
 

1.模式切换

我们可以将vim分为命令模式、编辑模式和末行模式三种  

**命令模式:‘即没有insert标记也没有:  。进入vim的时候vim是处于命令模式状态下的,这个时候输入内容不会出现在编辑区  (最末什么都没有)

**末行模式:**在命令模式下输入冒号,让vim进入末行模式。在末行模式的冒号后面可以输入相关的一些指令进行相关操作  (最后有一个冒号)

**编辑模式:**在命令模式下按'i'进入编辑模式。在编辑模式下可以对文件内容进行编辑 (最后 --INSERT-- 或者 --插入--)  

2.保存和退出

在**末行模式**下输入相应的指令可以对编辑区的内容进行保存和退出vim界面  
**w** -- 只保存(类似快捷键ctr+s)     write 
**q** -- 退出(在编辑区的内容全部都保存的情况下才有效)    quit
**wq** -- 保存并退出  
**q!**  -- 强制退出(不保存修改信息) ! for force 强制

3.光标操作  

以下光标操作都是在**命令模式**下输入的  

行内操作

**^(shift+6)**  -- 移动到行首  
**$(shift+4)**  -- 移动到行尾  

**w**                --  往前移动一个单词

**b**                --  往后移动一个单词

跳行操作

**G(shift+g)**    -- 移动到文件末尾
**行号G**            -- 移动到指定行,例如:30G, 让光标直接跳转到行号是30的那一行
**gg**                -- 移动到文件开头  


4.文本操作  

以下操作不带冒号的是在命令模式下输入,前面有冒号代码后面的内容是在末行模式下输入  

**yy**         -- 复制光标所在的行    在vim中复制被叫做yank。 这里方便记忆你可以想成 copy的y。
**数字yy**        -- 从光标所在行开始复制指定行数的内容   例如:光标在第二行  3yy 的意思是从第二行开始往下复制3、4、5 行的内容 。

**p**            -- 将复制的内容粘贴到光标所在的位置   在vim中 put 为粘贴, 方便记忆的话 你可以把p for paste
 


**dd**            -- 删除光标所在的行    
**数字dd**        -- 从光标所在行开始往后面开始删,删除指定数量行内容    
**:%d**        -- 删除所有   

**u**            -- 撤销      
**ctr+r**    -- 反撤销    
 


**:%!sort**  -- 对内容排序(将一行内容看成一个字符串,然后按字符串大小进行排序) 


末行模式下。 :1,$s/被替换对象/替换内容/参数**    -- 将正则表达式匹配到的内容替换成指定内容     
注意: 参数可以没有

    -    g: 全局匹配  (默认情况下每一行只替换一个查找对象,全局匹配的时候一行如果有多个查找全部替换)
    -     i: 忽略大小写  i for ignore case
    -   c: 替换时需要提示  
    -   e: 忽略错误  

5.高级操作

1)比较多个文件

vim -d  文件1  文件2

2)打开多个文件

vim 文件1  文件2  文件2  ...

```shell
# 1.显示文件
末行模式下输入: ls   # 查看当前打开的所有的文件和对应的标号
末行模式下输入: b 标号     # 让当前窗口显示指定的文件内容

#2.拆分和切换窗口
末行模式下输入: sp/vs    #对当前窗口进行水平/垂直拆分(拆分后可以通过ctr+ww来切换窗口)    | vs 状态下,按:,进入末行模式,然后输入b1或者b2 ,这样可以同时显示两个不同窗口(因为vs默认状态下两个窗口只显示一个窗口)
```
 

你可能感兴趣的:(编辑器,vim,linux)