Solomon Xie

Results 723 comments of Solomon Xie

# Vim左下角总显示"recording" 这是因为不小心按到了`q`键,进入了录制宏模式。 再按以下`q`就退出了。

# Vim支持鼠标滚动界面 Mac下,Vim支持鼠标滚动光标,通过光标移动上下翻动页面。但是这样太别扭了,我们需要的是滚轮控制界面滚动,如vim中`ctrl+e`一样的效果。 简单:`~/.vimrc`中加一句`set mouse=a`即可。 不过这样设置会导致每次用鼠标选择一段文本都会自动进入visual模式,这样的话我们就没法复制到系统剪切板了。 网上说mouse后一个-好即可,如`set mouse-=a`,但是试过没用。 这时候,需要按住`Alt`键然后再用鼠标选择文本,这样一来就不会启动v模式,且可以复制到剪切板。

# Vim里批量查找替换文字 没有一般编辑器按快捷键那么方便,需要以输入一条命令的方式才能执行。 格式如下: - 对当前行执行替换 `:s/查找内容/替换内容/g` - 在全文执行替换 `:%s/查找内容/替换内容/g` - 对选中行中内容进行批量替换 用v模式选中行然后`s/查找内容/替换内容/g` 大概可以看到,`s`代表执行search命令,`%`代表全文执行,`/`是相当于分隔符,`g`代表global对指定范围内所有结果进行替换,如果没有`g`那么只替换第一个找到的结果。

# Vim 的Git插件 - `Fugitive` 在vim里面操作,总是切换出去用git命令提交,一开始学习阶段还好,但是慢慢也烦了,就找到了这款最通用的插件,而且是Vundle管理器的默认搭配插件。 [参考文章](http://vimcasts.org/episodes/fugitive-vim---a-complement-to-command-line-git/)。 常用命令如下: ![image](https://user-images.githubusercontent.com/14041622/36022290-9060671a-0dc3-11e8-98c7-6b37f7160f34.png)

# ❖ Vim的NerdTree插件 > 一个项目文件多起来时,左边的文件树菜单是必要的。 [参考:常用文件树快捷键](https://yang3wei.github.io/blog/2013/01/29/nerdtree-kuai-jie-jian-ji-lu/) [所有命令及推荐键盘映射:官方](https://github.com/scrooloose/nerdtree/blob/master/doc/NERDTree.txt) ![image](https://user-images.githubusercontent.com/14041622/40785675-c52d07fa-651b-11e8-82d7-c6520ce91e4f.png) 在vundle插件管理的方式,直接在`~/.vimrc`中的Plugin段落中加入`Plugin "scrooloose/nerdtree "`然后重启Vim并输入`PluginInstall`,即可完成安装 然后输入`: NERDTreeToggle`即可打开文件树。当然,默认是关闭的,需要每次都输入命令打开。 还可以设置vim快捷键来映射,在vimrc中加入: ``` map :NERDTreeMirror map :NERDTreeToggle ``` ## 切换工作台和目录 ``` ctrl + w + h    光标 focus...

### Text editors learning curves ![image](https://user-images.githubusercontent.com/14041622/36091285-3ec383bc-101e-11e8-82e6-4e1e785142fc.png)

# Vim NerdTree的美化 > 用多了Vim,就需要nerdtree树形菜单,用多了菜单,就像把它美化。 一般最常用的美化Nerdtree插件就是[`vim-devicons`](https://github.com/ryanoasis/vim-devicons),详细配置方法在github官网有,主要如下: 1. 安装 `Nerd Font`字体,[网址在此](https://github.com/ryanoasis/nerd-fonts)。安装字体的方法每个电脑系统不一样。因为全部字体多到3G,所以最快到方法是到[官网首页](http://nerdfonts.com/)点击Download,下载`Droid Sans Mono Nerd`这个字体,8M左右,下载好了如果是Mac的话,就选择压缩包里的`Droid Sans Mono Nerd Font Complete.otf`,双击安装。 2. 在Terminal.app或iTerm2的系统设置里,设置字体为`Droid Sans Mono Nerd`。 3. 在`~/.vimrc`中插件管理处加入`Plugin 'ryanoasis/vim-devicons'`,重启vim然后`:PluginInstall`进行下载安装。 4. 在`~/.vimrc`中配置默认编码`set encoding=utf8`和默认字体`set guifont=DroidSansMono_Nerd_Font:h11`...

# Vim报错`Sorry, this command is disabled, the Python's site module could not be loaded.` 一般是在系统中改动了python的环境或什么,导致vim的一些插件无法使用python。 测试:在vim里面输入`:py print('hello')`。如果返回这个错误,说明vim没有找到python。 然后在vim里输入`:echo has('python')`和`:echo has('python3')`,哪个显示`0`哪个也是没有的。 ![image](https://user-images.githubusercontent.com/14041622/36629273-b7315026-198e-11e8-88cd-955c5391f73c.png) 通过这个命令,`vim --version | grep python`,我们先查看下当前vim版本对python的支持: ![image](https://user-images.githubusercontent.com/14041622/36629495-5017d3ee-1991-11e8-931c-10a0dfbd2872.png) 说明我当前的vim支持python,不支持python3. 另外,直接`vim --version`可以先看到,我的vim已经用`brew...

# Vim 文件操作 [参考:在 Vim 中进行文件目录操作](https://harttle.land/2016/10/14/vim-file-and-directory.html) ```vim # 新建文件/打开文件 : e [FILE-NAME] # 新建文件 (只打开半个窗口 另半个窗口保留之前的文件) :new [FILE-NAME] # 退出 (如果文件更改则保存) :x ``` ## 打开目录 ```vim :e FOLDER-PATH " 编辑该目录...

# ❖ 复制粘贴有那么麻烦吗?理解VIM的文本复制 > Vim的文本复制,逻辑上要比我们日常的拷贝、粘贴要复杂些。 之前看了很多文章,真是太复杂了,复制个东西搞得好像系统性的工程建设一样。其实两句话就解释明白的。 [参考这篇文章:vim的剪切板](https://segmentfault.com/a/1190000000382847) 首先输入`:reg`命令,查看Vim记录的所有剪切板内容,大概是这样的: ![image](https://user-images.githubusercontent.com/14041622/40037189-6e024c5e-583e-11e8-9566-c1650f619ef2.png) 常用命令: ```vim :reg #查看所有注册的剪切板内容 "" #Vim内部的默认剪切板 "+ #Vim外部的剪切板,也就是系统的剪切板, 复制粘贴到它就能和其他编辑器交互了 "3y #把文本复制到第3个剪切板 "+y #复制到系统板 "+p # 从系统板粘贴 ``` ### 举例1(Vim内部复制粘贴): 在Normal模式下,用`v`命令开始选择文本,然后按下`"1y`,就把已经选中的文本存到了`编号1`的剪切板。需要用的时候,就在vim中进入Normal模式,然后按下`"1p`,就粘贴出来啦。 ###...