vi打开多文件

本文介绍了使用Vi编辑器高效编辑多个文件的方法,包括在同一窗口和不同窗口中打开多个文件的操作命令,以及如何通过窗口分割来实现更灵活的多文件编辑。
可分两种情况:

1、在同一窗口中打开多个文件:

vi file1 file2 file3
:n  切换到下一个文件 (n=next)
:N  切换到上一个文件


2、在不同窗口中打开多个文件:

如果已经打开一个了一个文件,
则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名,
如此就可以在一个窗口打开多个文件了。

或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。
可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换。
2.窗口分割实现编辑多文件
   *先使用vi打开一个文件,例如vi actinia_proenrule.sh 
   *分割窗口打开另外的文件
    命令行模式下输入  sp 另外一个文件 就可以水平分割继续打开第二个文件,如果想纵向分割,可以使用vsp 文件名
     注:sp=split,vsp=vsplit. 上面的写法是vi支持的简略写法,v实际就是vertical,从中我们可以看出改命令的含义,另外vi不仅仅支持两个文件,还支持更多个文件同时在一个 大的窗口中显示编辑,同时还支持同时打开的两个文件是同一个文件。
    *窗口切换
可以使用 ctrl +两次按 w,这样就可以在各个文件中切换

   之前觉得vi的多文档编辑用着很不方便,现在接触了几个,用过了MiniBufExplorer,发现看着不是很舒服。还是使用ls比较好看一些。

  :ls  展示全部的打开文档

  :xn  切换到向下的第x个文档

  n ctrl+6 : 切换到第n个buffer

  ctrl+6  或 :e#   回到前一个编辑文件

  

         分屏

        :new xxx

   ctrl+w s   对当前文档内容分屏显示

   ctrl+w q   关闭所处分屏

   ctrl+w o   仅显示当前分屏内容

   ctrl+w j k  上下选择分屏

        个人觉得最值得用的命令就是ctrl+w  w 快速在分屏的两个屏幕中切换

 

   下面写的还没用过~看了大家的分享觉得这几个还不错

    :n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
    :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
    :n1,n2 d: 将 n1行到n2行之间的内容删除

    :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,
    若不指定n1,n2,则表示将整个文件内容作为command的输入
   方式2的优点在可以直接使用nyy和pp命令在各个窗口的文件之间进行拷贝和粘贴,操作比较方便。
### 使用 `vi` 工具打开文件时出现乱码的解决方案 当使用 `vi` 编辑器打开文件时遇到乱码问题,通常是因为编码设置不一致引起的。以下是详细的解决方法: #### 1. 检查系统语言环境 执行以下命令来检查当前系统的语言环境: ```bash locale ``` 如果输出中的 `LANG` 不是 `zh_CN.UTF-8` 或其他支持 UTF-8 的语言环境(如 `en_US.UTF-8`),则可能需要调整语言环境[^3]。 #### 2. 安装必要的语言包 如果未安装中文语言包,可以运行以下命令进行安装: ```bash yum install kde-l10n-Chinese ``` #### 3. 修改系统语言配置 编辑 `/etc/locale.conf` 文件并将其内容更改为适合的语言环境: ```bash sudo vi /etc/locale.conf ``` 将其中的内容修改为: ```plaintext LANG="zh_CN.UTF-8" ``` 保存后退出,并通过以下命令使更改生效: ```bash source /etc/locale.conf ``` #### 4. 验证语言环境更新 再次运行 `locale` 命令验证是否已成功应用新的语言环境。此时应看到类似以下输出: ```plaintext LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" ... ``` #### 5. 设置 Vim 的编码参数 在 `.vimrc` 文件中添加以下配置项以确保正确处理不同编码格式的文件: ```vim set encoding=utf-8 set fileencodings=utf-8,gbk,latin1 set termencoding=utf-8 ``` 这些设置的作用分别是: - `set encoding=utf-8`: 设定内部使用的字符集为 UTF-8。 - `set fileencodings=utf-8,gbk,latin1`: 自动检测文件的实际编码顺序尝试加载文件。 - `set termencoding=utf-8`: 确保终端显示采用 UTF-8 编码[^2]。 #### 6. 强制指定文件编码 对于已经存在的乱码文件,在打开前可以通过强制设定编码的方式读取文件内容。例如: ```bash vi +":e ++enc=utf-8" filename.txt ``` 此操作会告诉 Vi/Vim 使用 UTF-8 来解析该文件[^1]。 完成以上步骤后重新启动终端或登录到新会话测试效果即可消除大部分因编码差异引发的乱码现象。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值