我在 OSX Snow Leopard 上。
以下是全文grr.sh:
#!/bin/sh
echo wow
Run Code Online (Sandbox Code Playgroud)
当我尝试从终端运行它时:
$ grr.sh
-bash: grr.sh: command not found
$ /bin/sh grr.sh
wow
$ sh grr.sh
wow
$ bash grr.sh
wow
Run Code Online (Sandbox Code Playgroud)
好的。很公平。我会给它可执行权限,然后再试一次:
$ chmod +x grr.sh
$ grr.sh
-bash: grr.sh: command not found
$ chmod 755 grr.sh
$ grr.sh
-bash: grr.sh: command not found
Run Code Online (Sandbox Code Playgroud)
嗯。如果我明确使用 bash,也许它会起作用?我将文件的内容更改为:
#!/bin/bash
echo wow
Run Code Online (Sandbox Code Playgroud)
我得到了完全相同的结果。我能打破什么?!
最后一件事!如果你很好奇...
$ which sh
/bin/sh
Run Code Online (Sandbox Code Playgroud) 一些程序将采用如下选项:
$ someprogram -orange apple
Run Code Online (Sandbox Code Playgroud)
其他程序会使用这样的东西:
$ otherprogram --orange apple
Run Code Online (Sandbox Code Playgroud)
在 Linux/Unix/OSX 中是否有“规则”或约定?
例如,如果我正在开发一个仅限前端的网站,我可能有几个CoffeeScript文件、几个Sass文件、几个 HTML 文件和一些图像。
CoffeeScript 文件需要编译为 JavaScript,Sass 文件需要编译为 CSS,这些新文件需要缩小。图像需要删除其元数据。所有生成的文件都需要移动到具有自己结构的新目录中。
这一切似乎都不是特别复杂,但我看到有几个人为此使用makefile。
我是不是太不愿意学习如何使用 makefile?与简单的 bash 脚本相比,它们有哪些优势?
具体来说,我正在尝试安装 NERDtree。我从github下载了 4.10 包,将其解压缩到~/.vim/,然后重新启动 MacVim(7.3 版)。
键入:nerdtree导致以下错误:
E492: Not an editor command: nerdtree
Run Code Online (Sandbox Code Playgroud)
在终端中,键入:
cd ~/.vim
ls -R
Run Code Online (Sandbox Code Playgroud)
结果是:
Rakefile doc nerdtree_plugin plugin
./doc:
NERD_tree.txt
./nerdtree_plugin:
exec_menuitem.vim fs_menu.vim
./plugin:
NERD_tree.vim
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
不,我不是在虚张声势。我实在想不通。
我去了File -> Open,然后选择了一个目录而不是一个文件。正如预期的那样,我的文档左侧打开了一个目录树。万岁!我可以在我的 Rails 项目中轻松查看文件的结构。因此,我对文件进行了一些更改,然后单击目录树中的另一个文件。
TextWrangler 然后询问我是否要保存更改。嗯?我说“不”,新文档根本打不开。伟大的。我尝试点击Command+ N(新文档)。一个新窗口打开。呵呵。如何在新标签页中打开文档?
注意:我已将“新建和打开的文档”行为设置为“在前窗口中打开”。这并不会改变所描述的行为(即当一个目录被打开,而不是一个单一的文件)。
每当我在共享 Web 托管环境中替换静态 HTML 文件时,这曾经让我担心。
当将一个文件粘贴(或 FTPing)到另一个同名文件上时,是否有一个短暂的时刻两个文件都不存在?
如果我index.html在 Web 服务器上有一个新的粘贴index.html在它上面,请求该文件的用户是否有可能会收到404错误?
我在我的以下行.vimrc:
nnoremap <Esc> :noh<Cr>
Run Code Online (Sandbox Code Playgroud)
这在 MacVim 中运行良好。每当我打开 Vim 本身时,它的“命令栏”开始于:
.2c
Run Code Online (Sandbox Code Playgroud)
值得一提的是,当输入执行命令时,Vim 用E16: Invalid range.
这是一个小烦恼,但我该如何解决这个问题?
据我所知,d2d并2dd具有完全相同的效果。
我很好奇 - 忽略dand 的任何重新映射2,是否有任何情况下d2dand2dd会产生不同的结果?
每当我通过 Finder 或终端启动 MacVim 时,都会收到以下错误:
E575: viminfo: Illegal starting char in line: c/gui_mac.txt
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)
我已经重新安装了多次。我在这里找到了gui_mac.txt我系统上唯一的(据我所知):
应用程序/MacVim.app/Contents/Resources/vim/runtime/doc/gui_mac.txt
它的“上次打开”日期是 2010 年 8 月 15 日,这比我安装操作系统还要早几个月。我没有编辑它!
我在 Google 上搜索了引号中的错误,但没有收到任何结果。我能找到的最接近的信息是这里,它不是很有用。
到底是怎么回事?
我倾向于相当频繁地格式化和重新安装我的操作系统(大约一个月一次)。我为我缺乏技术术语而道歉,但我不执行“完整格式”(将现有数据归零的格式类型)。无论如何,我知道大多数现代操作系统都会消耗几 GB 的数据。
这样做对我的硬盘有特别的损害吗?我是否使用固态驱动器(我不是)有关系吗?
macos ×4
vim ×4
macvim ×2
terminal ×2
bash ×1
filesystems ×1
formatting ×1
hard-drive ×1
linux ×1
make ×1
makefile ×1
nerdtree ×1
remapping ×1
tabs ×1
text-editors ×1
textwrangler ×1
unix ×1
vim-plugins ×1