PHP面试系列 之Linux(三)---- Vi/Vim编辑器
vi 是 unix 家族下最功能强大的文字编辑器,而 vim 則是 vi 的加强版,
编辑模式
| 指令 | 說明 | |
|---|---|---|
| * | i | 在游標位置進入編輯模式 |
| I | 在游標行的第一個非空白字元進入編輯模式 | |
| * | a | 在游標位置後進入編輯模式 |
| * | A | 在游標行的最後一個字元進入編輯模式 |
| * | o | 向下新增一行,並進入編輯模式 |
| O | 向上新增一行,並進入編輯模式 | |
| cc | 刪除游標行,並進入編輯模式 | |
| * | [ESC] | 取消指令或退出編輯模式 |
游标移动
| 指令 | 說明 | |
|---|---|---|
| * | gg | 移到第一行 |
| * | G | 移到最後一行 |
| * | 行數 → G | 移動到第 n 行 |
| 0 | 移動到該行最前面 | |
| $ | 移動到該行最後面 | |
| 字數 → [Space] | 向右移動 n 個字元 | |
| * | 行數 → [Enter] | 向下移動 n 行 |
标记与复制
| 指令 | 說明 | |
|---|---|---|
| * | v | 開始字串標記 |
| * | V | 開始行標記 |
| * | v → [Ctrl]-V | 開始區塊標記 |
| * | d | 刪除標記的內容 |
| * | y | 複製標記的內容 |
| * | yy | 複製游標行 |
| yG | 複製游標行到最後一行 | |
| y1G | 複製游標行到第一行 | |
| y$ | 複製游標處到最後一個字元 | |
| y0 | 複製游標處到第一個字元 | |
| * | p | 在下一行貼上複製或刪除的內容 |
| P | 在上一行貼上複製或刪除的內容 | |
| * | [Ctrl]-R → 0 | 在下一行貼上複製或刪除的內容,適用於編輯模式及指令行 |
搜尋與取代
| 指令 | 說明 | |
|---|---|---|
| * | /搜尋字串 | 向下搜尋字串 |
| /\c搜尋字串 | 向下搜尋字串,不分大小寫 | |
| * | * | 將游標移到字串上,直接按 "*" 也可以做向下搜尋 |
| ?搜尋字串 | 向上搜尋字串 | |
| ?\c搜尋字串 | 向上搜尋字串,不分大小寫 | |
| * | :set ic | 搜尋時不分大小寫 |
| * | :set noic | 搜尋時要分大小寫 |
| * | n | 繼續下一個搜尋結果 |
| * | N | 繼續上一個搜尋結果 |
| * | :起始行,終止行s/搜尋字串/取代字串/gic | 從第 n 行到第 n 行取代字串 (後面的 g: 整行全部 i: 不分大小寫 c: 詢問) |
| * | :1,$s/搜尋字串/取代字串/gic | 全部取代字串 (後面的 g: 整行全部 i: 不分大小寫 c: 詢問) |
刪除
| 指令 | 說明 | |
|---|---|---|
| * | dd | 刪除游標行 |
| * | 行數 → dd | 刪除 n 行 |
| * | dG | 刪除游標行到最後一行 |
| d1G | 刪除游標行到第一行 | |
| * | d$ | 刪除游標處到最後一個字元 |
| d0 | 刪除游標處到第一個字元 |
檔案功能
| 指令 | 說明 | |
|---|---|---|
| * | :w | 存檔 (加 ! 表示強制存檔) |
| * | :w 檔案名稱 | 另存新檔 |
| * | :q | 退出 vi (加 ! 表示不存檔強制退出) |
| * | :wq | 存檔並退出 vi |
| * | :x | 存檔並退出 vi |
| :w !sudo tee % | 當你編輯好檔案要存檔時,卻發現沒有寫入檔案的權限! 用這會指令可以讓你直接以 root 的權限存檔 | |
| * | :e 檔案名稱 | 編輯其它檔案 |
| * | :e! | 還原至檔案編修前的狀態 |
| :r 檔案名稱 | 讀入檔案內容,並加到游標行的後面 | |
| * | :n | 切換到下一個開啟的檔案 |
| * | :N | 切換到上一個開啟的檔案 |
| * | :set nu | 顯示行號 |
| * | :set nonu | 取消行號顯示 |
| * | :files | 列出所有開啟的檔案 |
| * | :Ex | 開啟檔案瀏覽器 |
| * | :Ex 路徑 | 於指定路徑開啟檔案瀏覽器 |
| :Hex | 分割水平視窗後,再開啟檔案瀏覽器 | |
| :Vex | 分割垂直視窗後,再開啟檔案瀏覽器 | |
| :Tex | 新增頁籤後,再開啟檔案瀏覽器 | |
| :Hex 路徑 | 分割水平視窗後,再於指定路徑開啟檔案瀏覽器 | |
| :Vex 路徑 | 分割垂直視窗後,再於指定路徑開啟檔案瀏覽器 | |
| :Tex 路徑 | 新增頁籤後,再於指定路徑開啟檔案瀏覽器 |
視窗分割
| 指令 | 說明 | |
|---|---|---|
| * | :new | 新增水平分割視窗 |
| * | :new 檔案名稱 | 新增水平分割視窗,並在新增的視窗載入檔案 |
| * | :vnew | 新增垂直分割視窗 |
| * | :vnew 檔案名稱 | 新增垂直分割視窗,並在新增的視窗載入檔案 |
| :sp | 新增水平分割視窗,並在新增的視窗載入目前的檔案 | |
| :sp 檔案名稱 | 新增水平分割視窗,並在新增的視窗載入檔案 | |
| :vsp | 新增垂直分割視窗,並在新增的視窗載入目前的檔案 | |
| :vsp 檔案名稱 | 新增垂直分割視窗,並在新增的視窗載入檔案 | |
| * | [Ctrl]-W → [方向鍵] | 切換視窗 |
| * | :only | 僅保留目前的視窗 |
頁籤
| 指令 | 說明 | |
|---|---|---|
| * | :tabe | 新增頁籤 |
| * | :tabe 檔案名稱 | 新增頁籤,並在新頁籤載入檔案 |
| :tabc | 關閉目前的頁籤,等同 :q | |
| :tabo | 關閉所有頁籤 | |
| :tabn | 移至下一個頁籤 | |
| :tabp | 移至上一個頁籤 | |
| * | gt | 移至下一個頁籤 |
| * | gT | 移至上一個頁籤 |
| * | :tabfirst | 移至第一個頁籤 |
| * | :tablast | 移至最後一個頁籤 |
| * | :tabm 頁籤編號 | 移至特定編號的頁籤 (編號從 0 開始) |
| :tabs | 列出所有頁籤 |
其它指令
| 指令 | 說明 | |
|---|---|---|
| * | J | 將游標行與下一行合併 |
| * | u | 還原指令 |
| * | [Ctrl]-R | 重做指令 |
| * | [Ctrl]-N | 自動補齊曾輸入過的單字 |
| * | . | 重覆上一個指令 |
| ! 命令 | 執行 linux 指令,並顯示執行結果 | |
| TOhtml | 將目前編輯的檔案轉換成 HTML 原始碼 (會新增一個水平分割視窗) |
檔案瀏覽器操作
請先以 :Ex 相關指令進入檔案瀏覽器
| 指令 | 說明 | |
|---|---|---|
| * | - | 到上層目錄 |
| * | d | 建立目錄 |
| * | D | 刪除目錄 |
| * | R | 重新命名 |
| * | s | 切換排序方式 |
| r | 切換升冪/降冪排序 | |
| i | 切換檔案的排列方式 | |
| * | / | 搜尋字串 |
| x | 執行檔案 | |
| * | o | 新增水平視窗 |
| * | v | 新增垂直視窗 |
vim 的設定檔
通常我會編輯 /etc/vimrc,在檔案最後加入:
" 顯示列號
set number
" 語法高亮度顯示
syntax on
" 標記搜尋到的字串
set hlsearch
" 自動縮排
set autoindent
" 顯示說明
set ruler
" 顯示編輯狀態
set showmode
" 設定註解的顏色
highlight Comment ctermfg=cyan
" 設定搜尋到的字串顏色
highlight Search term=reverse ctermbg= ctermfg=
" 設定 tab 鍵的字元數
set tabstop=
转自:访问
PHP面试系列 之Linux(三)---- Vi/Vim编辑器的更多相关文章
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- Linux随笔 - vi/vim 编辑器显示行号
显示行号 1. 打开vi 编辑器 2. 输入 :set number 3. 回车 关闭行号显示 1. 打开vi 编辑器 2. 输入 :set nonumber 3. 回车 行号在每次打开 vi/v ...
- Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- Linux之vi/vim编辑器
1.概述 所有的Unix like系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器. vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的 ...
- 新手指南:Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- linux vi/vim 编辑器学习总结
linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...
- 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作
Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...
- Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳
Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 25 转载请注明出处! 目录 Windows & Lin ...
随机推荐
- Linux-debian系统 /etc/network/interface 文件解读
原文 http://wiki.slimdevices.com/index.php/SqueezeOS_networking 话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/e ...
- 浅谈 Linux 下的 SSH1, SSH2
SSH:Secure Shell .是一种安全协议. 常见的应用场景是远程控制台登陆. SSH1免费,SSH2收费. 其实 SSH 并不只是在 Linux 和 Unix 下使用,他们同样在 Win ...
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- Tinymce 编辑器添加自定义图片管理插件
在使用Tinymce的过程中需要用到图片上传功能,而提供的上传插件在上传文件后是给了一个连接地址,就想用户需要什么图片,不能用最直观的方式表现出来么! 虽然官网上也有一个文件管理的插件moxieman ...
- BZOJ4589: Hard Nim(FWT 快速幂)
题意 题目链接 Sol 神仙题Orzzzz 题目可以转化为从\(\leqslant M\)的质数中选出\(N\)个\(xor\)和为\(0\)的方案数 这样就好做多了 设\(f(x) = [x \te ...
- plan,idea,and dream
自学机器学习/数据分析/前端 目前想法是从前端入手,学会写/分析网页及其内容/数据,然后使用爬虫爬取数据,然后用机器学习算法对数据进行处理.哈哈,想法是不是太天真了. 学习都从网上的资料入手,因此发现 ...
- jetty插件实现 热部署
<plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin ...
- EventTarge Node Docuement Element HTMLElement 关系
综述: 可以将其看做是依次继承的关系: Node Node A Node is an interface from which a number of DOM types inherit, and a ...
- mac下 安装tomcat 后项目无法启动以及 错误 找不到或无法加载主类
按照网上的步骤,在mac上安装tomcat后,写个简单的测试类报错:错误 找不到或无法加载主类 Class JavaLaunchHelper is implemented in both /Libra ...
- MVC框架以及实例
MVC框架 MVC(model,view,controller),一种将业务逻辑.数据.界面分离的方法组织代码的框架.在改进界面及用户交互的同时,不需要重写业务逻辑.MVC将传统的输入.处理和输出分离 ...