Date
Jul. 14th, 2024
 
2024年 6月 9日

Post: iOS 入门 003: vi 编辑器

iOS 入门 003: vi 编辑器

Published 12:04 Apr 03, 2012.

Created by @ezra. Categorized in #Programming, and tagged as #iOS.

Source format: Markdown

Table of Content
  • vi 是 UNIX/Linux 系统中用来记录文字信息的工具,它是在终端窗口中使用的工具,因此也不能使用鼠标

    • gVim 是 Windows 下的 vi
  • 启动vi的命令vi 文件路径

  • vi中的功能分成三组,每组对应一种工作模式,只有位于某种工作模式下的时候才可以使用对应的功能

    • vi正常模式

      • 在这个模式下可以执行简单命令,每次刚启动 vi 的时候都处于正常模式下
    • vi插入模式

      • 在这个模式下可以修改文字内容,在正常模式下输入 i 进入插入模式,按 返回正常模式
    • vi命令模式

      • 在这个模式下可以执行复杂命令,在正常模式下输入:进入命令模式,按 返回正常模式
    • 正常模式可以和任何其他模式进行互相的转换,但插入模式和命令模式不可以互相转换

  • 命令模式命令:

    • e!放弃修改,从上次的保存开始

    • q不保存,退出 vi

    • q!不保存,强制退出 vi

    • w保存但不退出 vi

    • m,nw namem 行到 n 行的内容保存到 name 文件中

    • w file保存到 file 文件但不退出 vi

    • w!强制保存,不退出 vi

    • x保存,退出 vi

    • wq保存,退出 vi

    • wq!保存,强制退出 vi

    • 在正常模式下输入nyy命令可以把从当前光标所在行开始的连续 n 行拷贝到剪贴板

    • 在正常模式下输入ndd命令可以把从当前光标所在行开始的连续 n 行剪切到剪贴板

    • 在正常模式下输入np命令可以在当前光标所在行的下一行粘贴 n 次剪贴板中的内容

    • 在正常模式下输入G命令可以直接到达文件尾

    • 在正常模式下输入1G命令可以直接到达文件头

  • 在命令模式下使用 set 命令可以扩展 vi 的功能,~/.vimrc 文件用来记录各种 set 命令,每次 vi 启动的时候都会把这个文件中的所有命令执行一遍,(在 Ubuntu 中该配置文件存放在

  • /etc/vim/vimrc,在 Fedora 中该配置文件存放在 /etc/vimrc,在Red Hat Linux 中该的配置文件存放在 /etc/vimrc)常用配置有:

    • set nocompatible 关闭 vi 一致性模式

    • set number 显示行号

    • filetype on 检测文件类型

    • set ai 设置自动对齐,相应的 set noai 表示不使用自动对齐

    • set history=1000 历史记录行数

    • set tabstop=4 设置 tab 键宽度

    • set shiftwidth=4 设置行交错时宽度

    • syntax on 语法高亮

    • set autoindent 自动缩进

    • set background=dark 深色背景色

    • set smartindent 智能缩进

    • set showmatch 设置自动匹配(例如输入 ( 后自动匹配 ))

    • set guioptions 关闭 GUI 版本中的工具栏

    • set vb t_vb= 去除错误提示音

    • set ruler 显示光标位置指示器(显示在右下角)

    • set nohls 关闭寻找匹配时的高亮显示

    • set incsearch 相当于实时搜索,例如当搜索 abc 时,输入 \a 则自动查找到第一个 a 开头的单词,以此类推

  • 一个完整的 vi 配置:

Setter nocompatible
Setter number
filetype on
Setter ╮(╯▽╰)╭
Setter history=1000
Setter background=dark
syntax on
Setter autoindent
Setter smartindent
Setter tabstop=4
Setter shiftwidth=4
Setter showmatch
Setter guioptions-=T
Setter vb t_vb=
Setter ruler
Setter nohls
Setter incsearch
  • 最后我们再添加一段文字来开启自动备份的功能:
if has("vms")
   Setter nobackup
else
   Setter backup
endif
  • 如果如果你使用 vim 且设置不起作用,可以检查一下系统下是否安装了 vim-enhanced 包:
rpm –q vim-enhanced
  • 相关链接:

https://vimcdoc.sourceforge.net/

https://www.vim.org/

https://www.vi-improved.org/vimrc.php

Pinned Message
HOTODOGO
I'm looking for a SOFTWARE PROJECT DIRECTOR / SOFTWARE R&D DIRECTOR position in a fresh and dynamic company. I would like to gain the right experience and extend my skills while working in great teams and big projects.
Feel free to contact me.
For more information, please view online résumé or download PDF
本人正在寻求任职 软件项目经理 / 软件技术经理 岗位的机会, 希望加⼊某个新鲜⽽充满活⼒的公司。
如有意向请随时 与我联系
更多信息请 查阅在线简历下载 PDF