Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在MacVim中使用abbrev_Macos_Vim_Macvim - Fatal编程技术网

Macos 如何在MacVim中使用abbrev

Macos 如何在MacVim中使用abbrev,macos,vim,macvim,Macos,Vim,Macvim,我是mvim新手,不知道如何使用保存在vimrc文件中的命令,如下所示: "Load the current buffer in Chrome - Mac specific. abbrev chrome :! open -a Google\ Chrome %:p<cr> “以特定于Chrome-Mac的格式加载当前缓冲区。 abbrev chrome:!open-a Google\chrome%:p (注:原为: "Load the current buffer in Chrom

我是mvim新手,不知道如何使用保存在vimrc文件中的命令,如下所示:

"Load the current buffer in Chrome - Mac specific.
abbrev chrome :! open -a Google\ Chrome %:p<cr>
“以特定于Chrome-Mac的格式加载当前缓冲区。
abbrev chrome:!open-a Google\chrome%:p
(注:原为:

"Load the current buffer in Chrome - Mac specific.
abbrev ff :! open -a FireFox.app %:p<cr>
“以特定于Chrome-Mac的格式加载当前缓冲区。
abbrev ff:!open-a FireFox.app%:p
)


我只是很困惑,因为这个abbrev是如何一起工作的,在谷歌上找不到答案:\也许这里有人可以帮忙?

这些行创建了一个常用命令的缩写。在本例中,它创建了在特定应用程序中打开当前缓冲区的缩写。例如,如果您正在处理一个名为
index.html
的文件,并在vim中输入命令
:chrome
,它将在chrome中打开index.html

对于三种主要的Mac浏览器,请在
.vimrc
文件中使用以下行:

" Open the current buffer in a web browser
abbrev ff :!open -a Firefox.app %:p
abbrev chrome :!open -a Google\ Chrome.app %:p
abbrev sf :!open -a Safari.app %:p
这是因为
告诉vim执行shell命令。在这些情况下,shell命令是
open-a[以哪个为准].app
使用当前缓冲区
%:p

下面是一些进一步的阅读:


当使用
abbrev
时,它通常用于保存打字或修复常见拼写错误:

iabbrev mmm myultRalonganDrandomlycapiTAlizedemailadDress@example.com
iabbrev teh the
如果您想执行命令,我认为普通映射在概念上更适合。以下是我的
~/.vimrc
中的内容:

let os=substitute(system('uname'), "\n", "", "")
if os == "Darwin" || os == "Mac"
    nnoremap <F12>f :exe ':silent !open -a firefox %'<CR>
    nnoremap <F12>c :exe ':silent !open -a "google chrome" %'<CR>
    nnoremap <F12>o :exe ':silent !open -a opera %'<CR>
    nnoremap <F12>s :exe ':silent !open -a safari %'<CR> 
elseif os == "Linux"
    nnoremap <F12>f :exe ':silent !firefox %'<CR>
    nnoremap <F12>c :exe ':silent !chromium-browser %'<CR>
    nnoremap <F12>o :exe ':silent !opera %'<CR>
endif
let os=substitute(系统('uname'),“\n”,“”,“”)
如果操作系统==“达尔文”| |操作系统==“Mac”
nnoremap f:exe':无提示!打开-firefox%'
nnoremap c:exe:无提示!打开-一个“谷歌浏览器”%”
nnoremap o:exe:无提示!打开-歌剧%
nnoremap s:exe':无提示!打开-一次旅行%'
elseif os==“Linux”
nnoremap f:exe':无提示!firefox%'
nnoremap c:exe:无提示!铬浏览器%'
nnoremap o:exe:无提示!歌剧%'
恩迪夫

当然还有另一种方法可以做到——我只关注
abbrev
方法,因为被问者感到困惑,并且被问到具体的问题。我很喜欢你的方法,尤其是
os==
部分。哎呀,我忘了定义
os
的最重要部分。因此,如果我理解这个右abbrev=命令(按“:”),iabbrev是一个用于拼写或快捷文本的内联缩写。我也确实非常喜欢你映射关键点的东西,当然非常优雅(特别是操作系统部分),尽管我的问题有点不清楚,我相信Paul是对的——我更感兴趣的是了解abbrev在vim中是如何工作的。尽管这是你帮助解决我的abbrev one后面的另一个问题的道具;)
abbrev
iabbrev
是一回事。一个用于命令行模式,另一个用于插入模式,但两者都用于帮助减少键入。我不喜欢用它来访问常用的命令。谢谢,所以在我运行命令时使用abbrev(通常通过键入“:”)-这非常有帮助!是否可以在浏览器中打开MacVim行作为url?而不是将缓冲区作为文档。