通过命令行环境(Command-Line Interface, CLI),可以更快速地执行操作,并且能够自动化一系列繁琐的任务。比如在多个文件中,批量替换指定的字符串等。下文将介绍在Windows下,搭建运行Linux命令的虚拟终端,并将Vim配置至此Shell环境。

本文并不会详细介绍每个工具的安装步骤和使用细节,而是聚焦于各个工具与Vim相互配合。文中推荐的工具,完全基于个人主观的偏好,您可以在AlternativeTo网站中寻找功能类似的软件。

Cygwin

Cygwin,是 Windows下的Linux命令行环境。它包括一个提供GNU功能性基本子集的DLL以及在这之上的一组工具。

在安装过程中,您可以选择需要的软件包,比如grep、sed、curl等等。你也可以搜索“vim”关键字,找到vim以及相关的工具。




centos未找到vim命令 vim 未找到命令_-bash: vim: 未找到命令


请选择安装“zsh”。之后您可以随时再次运行Cygwin安装程序,以安装和更新软件包。

ConEmu

ConEmu,是一个美观易用的虚拟终端,可以在多个标签中,同时打开Windows命令提示符(Command Prompt),powershell,Cygwin和Git bash等等。


centos未找到vim命令 vim 未找到命令_vim_02


在“Settings...”窗口中,选择“Startup > Tasks”,然后在“Predefined Tasks”列表中新建打开Zsh的任务:


centos未找到vim命令 vim 未找到命令_centos未找到vim命令_03


请在以上屏幕截图的黄色高亮区域内,输入以下命令:


set CHERE_INVOKING=1 & set  "PATH=D:cygwin64bin;%PATH%" &  %ConEmuBaseDirShort%conemu-cyg-64.exe -new_console:p  D:cygwin64binzsh.exe --login -i  -new_console:C:"D:cygwin64Cygwin.ico"


请注意,本文假设Cygwin安装在“D:cygwin64”目录;请根据您的实际安装位置,相应调整命令。

使用“Create new console”按钮,可以打开{Zsh::CygWin zsh}:


centos未找到vim命令 vim 未找到命令_-bash: vim: 未找到命令_04


在终端中使用uname -a命令,可以查看当前Cygwin的版本:


centos未找到vim命令 vim 未找到命令_bash_05


使用cygcheck --check-setup命令,可以列示当前已安装的软件包:


centos未找到vim命令 vim 未找到命令_centos未找到vim命令_06


使用echo $SHELL命令,可以查看当前使用的shell:


centos未找到vim命令 vim 未找到命令_centos未找到vim命令_07


通过/cygdrive路径,可以访问本地磁盘:


centos未找到vim命令 vim 未找到命令_centos未找到vim命令_08


Oh My Zsh

Oh My Zsh,是由Robby Russell开发的zsh管理框架,使用其预配置的选项,可以大大提高使用zsh的便捷性。

使用以下命令,安装Oh My Zsh:


git clone git://github.com/robbyrussell/oh-my-zsh.git C:Usersusername.oh-my-zsh


使用以下命令,生成默认的配置文件:


cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc


配置Vim使用Cygwin Shell

Vim在Windows下,默认使用命令提示符 "Command Prompt":


:set shell=$COMSPEC
shell=C:WINDOWSsystem32cmd.exe


在vimrc配置文件中增加以下命令,将配置Vim使用Cygwin的Shell环境:


" 在当前目录打开bash
let $CHERE_INVOKING=1
" 使用Cygwin bash
set shell=D:cygwin64binbash.exe
" 缺少--login参数将无法挂载/usr/bin/等目录
set shellcmdflag=--login -c
" 缺省值为(, 需要为bash设置成"
set shellxquote="
" 在路径中使用/以替代
set shellslash
" 在PATH变量中增加cygwin目录
let $PATH .= ';D:cygwin64bin'


在Vim中使用:terminal命令,即可打开Cygwin bash终端窗口:


centos未找到vim命令 vim 未找到命令_-bash: vim: 未找到命令_09


你也可以使用:!:shell命令,来执行bash命令。

配置Vim打开Windows命令行

在vimrc配置文件中增加以下命令,将配置leader快捷键以打开Windows命令提示符:


nnoremap <leader>cc :!start cmd /k cd %:p:h:8<cr>


One more thing...

我为ConEmu制作了一个暗黑系的DarkSide主题。关于安装和使用说明,请参考自述文件。


centos未找到vim命令 vim 未找到命令_bash_10