星期三, 七月 11, 2018

VIM学习笔记 插件管理器(Vundle)

Vundle是一个Vim插件管理器,用于方便地安装、更新和卸载插件。

在Mac中配置Vundle

  1. 安装GitHub for macOS
  2. 使用以下命令,将Vundle安装到指定目录:
    git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  3. 安装后目录结构如下:
    plugin_Vundle_Directory_Mac
  4. vimrc配置文件中的"set the runtime path to include Vundle and initialize部分,更新如下:
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()

在Windows中配置Vundle

  1. 安装Git for Windows
  2. 配置Path环境变量;
    git_setup_UserVar
  3. 在Windows命令提示符下执行git --version命令,如果Git安装成功,那么将显示以下信息:
    git_Version
  4. 使用以下命令,将Vundle安装到指定目录:
    git clone https://github.com/VundleVim/Vundle.vim.git %USERPROFILE%/vimfiles/bundle/Vundle.vim
  5. 安装后目录结构如下:
    plugin_Vundle_Directory
  6. vimrc配置文件中的"set the runtime path to include Vundle and initialize部分,更新如下:
    set rtp+=$VIM/vimfiles/bundle/Vundle.vim/
    call vundle#begin('$VIM/vimfiles/bundle/')

Vundel配置实例

安装插件

vundle支持源码托管在GitHub的插件,你可以在github.com/vim-scripts/上找到vim官网里所有插件的镜像。

如果希望安装新插件,首先找到其在github.com的网址,然后将其追加至vimrc配置文件中的call vundle#begin()call vundle#end()之间,最后执行以下命令安装所有引用的插件:

:PluginInstall

Vundle_PluginInstall

你也可以使用以下命令,指定安装特定的插件:

:PluginInstall yyq123/HTML-Editor

卸载插件

如果希望卸载插件,请先在vimrc配置文件中注释或者删除对应插件的 配置信息,然后再执行以下命令:

:PluginClean

更新插件

使用以下命令,可以自动批量更新所有已安装的插件:

:PluginUpdate

帮助信息

使用以下命令,可以查看更多帮助信息:

:help vundle

常见问题

1、在Windows系统下,安装插件时,出现“git不是内部或外部命令”或者“缺少某一个lib”的报错。

请将Git安装目录添加到Path设置中(路径名需要根据Git的安装位置作出相应修改):
C:\Program Files (x86)\Git\libexec\git-core;
C:\Program Files (x86)\Git\bin;

2、在Mac系统下,安装插件时,出现报错信息“error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at:/Library/Developer/CommandLineTools/usr/bin/xcrun”

请在终端窗口中,执行以下命令来安装Xcode命令行工具包:
xcode-select --install

命令小结
:PluginInstall安装插件
:PluginClean卸载插件
:PluginUpdate更新插件

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期二, 七月 10, 2018

BoringJuxtaposition #两本书

YYQ (@anthony.yuan) 分享的帖子 ·
一本书 别人送的
一本书 自己买的

一本书 改造一所老房子
一本书 设计一所新房子

后来

一本书 送了别人
一本书 卖了出去

从此
两本书
再不相见

星期三, 七月 04, 2018

微笑不是一种很自然的状态

我不认为微笑是一种很自然的状态,事实上它会弱化肖像的叙事效果。在我们很小的时候,大人们就教育我们在拍照的时候要直视镜头、面带微笑,但我不认为这样能够真正展示我们自己,也不能帮助我们欣赏图像。我不刻意讨好,我只是试图去展示一些真实的东西,一些人们不设防时的瞬间。对于我来说,人们坐火车时所流露出的表情是再完美不过的了。那是一种什么都没有、完全迷失、没有表情的状态。我希望让观者自己尝试着去阅读这种表情,或者只是观察人物脸部的轮廓和皱纹也好。--Spencer Murphy

星期二, 七月 03, 2018

星期一, 七月 02, 2018

破坏性读者


via Instagram https://ift.tt/2yYDan8

VIM学习笔记 工具栏 (ToolBar)

启用/禁用工具栏

工具栏(ToolBar)是使用图标来调用菜单的图形界面元素。Vim默认设置是显示工具栏的。我们也可以使用以下命令来显示工具栏:

:set guioptions+=T

使用以下命令,则可以隐藏工具栏:

:set guioptions-=T

工具栏选项

通过设置toolbar可以控制工具栏的显示外观,其选项包括:

  • icons  显示工具栏图标
  • text  显示文本
  • tooltips  当光标悬浮图标上时显示提示文字

例如以下命令,将设置工具栏显示按钮图标和提示文字:

:set toolbar=icons,tooltips

Toolbar_MacVim

工具栏按钮

Vim将工具栏视为一种以ToolBar命名的特殊菜单。例如名为ToolBar.New的menu-item,就是在工具栏上的New图标。每一个基本图标都有两个名字,例如New图标可以用ToolBar.New或是ToolBar.builtin00来表示。可以使用:help builtin-tools命令,查看关于基本图标的帮助信息。

help_builtin-tools

新增工具栏按钮

可以使用以下命令,新增工具栏按钮:

:amenu icon=/Users/yyq/.vim/bitmaps/TabNew 1.410 ToolBar.TabNew :tabnew<CR>

  • iconicon=TabNew 用于指定按钮图标的文件名,如果你只给出了图标的文件名,但没有明确指明文件的路径名,那么Vim将会在$VIMRUNTIME/bitmaps目录进行查找;如果你使用bmp格式的图标文件,那么不需要指明bmp后缀名;
  • priority1.410 表示按钮在工具栏上的位置;
  • action:tabnew<CR> 是点击按钮所执行的命令。

可以使用以下命令,新增工具栏分隔符:

amenu 1.400 ToolBar.-sep8- <Nop>

使用以下命令,可以定义鼠标停留在按钮时显示的提示文字:

:tmenu ToolBar.TabNew Open a new tab

可以使用以下命令,移除工具栏按钮的提示信息:

:tunmenu ToolBar.TabNew

移除工具栏按钮

使用以下命令,将列示工具栏上的按钮名称:

:aunmenu ToolBar.<Tab>

Toolbar_Icons_Tab

使用左右方向键,可以选择某个图标项(其中,"|"用于表示分隔符), 按下Enter将从工具栏上移除此按钮,按下Esc则可以取消选择。

Toolbar_Icons_Tab_Item

直接使用以下命令,将会移除工具栏上的所有按钮:

:aunmenu ToolBar

命令小结
:set guioptions+=T显示工具栏
:set guioptions-=T隐藏工具栏
:set toolbar设置工具栏选项
:amenu新增工具栏按钮
:tmenu定义工具栏按钮的提示文字
:tunmenu移除工具栏按钮的提示文字
:aunmenu移除工具栏按钮

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期二, 六月 26, 2018

VIM学习笔记 菜单(Menu)

启用/禁用菜单

使用以下命令,可以显示菜单栏:

:set guioptions+=m

使用以下命令,可以隐藏菜单栏:

:set guioptions-=m

查看菜单映射

本质上,菜单项都是由命令定义的行为。使用以下命令,可以列出所有菜单定义的映射:

:menu

如果只需要显示特定的菜单(注意区分大小写),那么可以使用以下命令:

:menu File

Menu_File

命令执行结果的每一行首个字母指明了这个命令的模式。

而以下命令,则可以列出指定菜单项的内容:

:menu File.Save

定义新菜单

Vim编辑器所使用的菜单是由文件$VIMRUNTIME/menu.vim定义的。

可以使用以下:menu命令,定义新的菜单内容:

:menu [priority] menu-item command-string

menu-item,描述了放置菜单项的路径,比如File.Save表明Save菜单在File菜单下;还可以依次创建子菜单,例如Tabs.Navigation.Next。菜单定义命令示例如下:

:menu 10.340 &File.&Save:w :confirm w

priority,为数字优先级,用于确定放置菜单项的位置。第一个数字10表明在菜单栏上的位置。数字越小越靠近左侧,而数字越大则越靠近右侧;第二个数字340则决定了下拉菜单的位置。数字越小越靠近上部,而数字越大则越靠近下部。如果你在新建菜单命令中没有指定优先级数字,那么默认值为500。你可以使用:help menu-priority帮助命令,查看Vim内置菜单的位置排列。

&,用于指定快捷键,例如&File.&Save可以表明用Alt-F键来选择File菜单,而用S键来选择保存菜单。

使用以下命令,将新建Tabs.Next菜单:

:menu <silent>Tabs.Next <Esc>:tabnext<cr>

<Esc>,用于进入常规模式;<cr>用于执行命令。

<silent>,将屏蔽命令行的输出。

-SEP-,可以在下拉菜单中新建用于间隔菜单项的虚线。必须是以-开头和结尾的唯一名称;同时必须包含命令,例如以下定义中使用的:空命令。

:menu Tabs.-SEP- :

我们还可以使用以下指定模式的菜单定义命令:

  • :menu 常规模式, 可视化模式, 操作待决模式
  • :nmenu 常规模式(Normal mode)
  • :vmenu 可视化模式(Visual mode)
  • :omenu 操作待决模式(Operator-pending mode)
  • :imenu 插入模式(Insert mode)
  • :cmenu 命令行模式(Command-line mode)
  • :amenu 所有模式

菜单实例

如果希望始终显示自己新建的菜单,那么可以在vimrc文件中增加以下代码。请注意:代码不需要包括冒号(:)。


15amenu <silent>Tabs.New :tabnew<cr>amenu Tabs.-SEPT1- :
amenu <silent>Tabs.&Next :tabnext<cr>
amenu <silent>Tabs.&Previous :tabprevious<cr>
amenu Tabs.-SEPT2- :
amenu Tabs.&Close :confirm tabclose<cr>

新建的菜单显示如下:

Menu_Tabs

移除菜单

使用以下命令,可以从菜单中移除指定菜单项:

:[mode]unmenu menu-item

使用以下命令,则会移除所有菜单:

:aunmenu *

命令小结
:set guioptions+=m显示菜单
:set guioptions-=m隐藏菜单
:menu查看/新建菜单定义
:unmenu移除菜单

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期一, 六月 25, 2018

VIM学习笔记 鼠标(Mouse)

启用/禁用鼠标

使用以下命令可以启用鼠标(默认选项):

:set mouse=a

使用以下命令可以禁用鼠标:

:set mouse=""

鼠标选项

在Windows和X Window这两种系统中,使用鼠标的方式是不同的。我们可以定制Vim编辑器,以启用不同的鼠标行为。命令:behave xterm设置使用X Window风格的鼠标行为。而命令:behave mswin则启用Windows风格的鼠标行为。

xterm的鼠标行为Windows的鼠标行为
左键移动光标移动光标
拉动左键在可视化模式下选择文本在选择模式下选中文本
右键选中光标到右键点击处的文本显示弹出菜单
中键在光标处粘贴选中的文本将系统剪切板中的文本粘贴到文件

使用以下命令,可以定义双击之间的最大时间间隔:

:set mousetime=time

其中的时间以毫秒为单位,默认情况下为半秒(500ms)。

使用以下命令,可以设置鼠标的模式为extend,popup,popup_setpos其中之一:

:set mousemodel=mode

在所有模式之下,鼠标左键可以移动光标,拉动左键可以选择文本。在extend模式中,可以使用左键点中起始位置,然后按住Alt键的同时右击结束位置,将选中两点定义的可视化块(visual block)。在popup模式中,右键可以显示弹出菜单。而popup_setpos模式与popup模式相类似,所不同的只是当按下鼠标右键时,光标会移动到鼠标点击处,然后显示弹出菜单。

通过clipboard选项,可以控制Vim如何处理由鼠标选择的文本。使用以下设置,可以将所有鼠标选择的文本放在未命名寄存器中和剪切板寄存器中,这也意味着我们可以将文本粘贴到其他程序中。

:set clipboard=unnamed

如果设置如下选项,那么可视模式下选择的文本就会被放到系统剪切板中:

:set clipboard=autoselect

隐藏鼠标

在图形界面下编辑时,如果认为鼠标光标的存在会打扰你的工作,可以设置隐藏鼠标光标。

:set mousehide

设置之后,当键盘输入时鼠标光标就会隐藏,而移动光标时鼠标光标就会再度出现。

帮助信息

可以使用以下命令,查看关于鼠标使用的更多帮助信息:

:help mouse

:help mouse-using

:help scroll-mousewheel

命令小结
:set mouse=a启用鼠标
:set mouse=""禁用鼠标
:behave控制鼠标的行为
:set mousetime设置双击时间间隔
:set mousemodel设置鼠标模式
:set mousehide隐藏鼠标

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>