在vim中,当我点击ESC返回命令模式时,光标向左移动一个字符。这不是我所希望的,偶尔我会立即点击l回到那个位置,也许是删除一个角色。
这种行为有原因吗?这对于我缺少的使用模式是否方便?
假设我要执行之前执行过的四个命令的序列。如果命令历史中的第一个是 432,那么我可以这样做:
$ !432; !433; !434; !435
Run Code Online (Sandbox Code Playgroud)
我很好奇,有没有更有效的方法来实现这一目标?
我有几个项目需要我更改 Java/Grails/Maven 的版本。我正在尝试使用一些可以进行更改的脚本来处理此问题。例如:
#!/bin/sh
export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22
export PATH=$JAVA_HOME/bin:$PATH
export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3
export PATH=$GRAILS_HOME/bin:$PATH
export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11
export PATH=$MAVEN_HOME/bin:$PATH
which java
which grails
which mvn
Run Code Online (Sandbox Code Playgroud)
执行此操作时,它成功地更改了脚本上下文中的 PATH,但随后脚本结束,并且没有完成任何更改。
如何以某种方式运行脚本以更改我当前工作的 shell 的 PATH?
我正在使用 Cygwin。
我对“壳”这个词很好奇。我想我知道它是什么(尽管“外壳”和“终端”之间的区别仍然模糊)但是为什么选择“外壳”这个词来描述这种类型的程序?
这似乎似乎不重要,但通常在选择Mysties Me的情况下,它指出了我的理解差距。
在 vi 中,我可以使用o或O添加一个空行并进入插入模式。但是如果我想保持命令模式怎么办,有没有针对此的命令?
在谷歌搜索中,我看到了向我的 vimrc 添加内容的建议,但似乎应该有一种更简单的方法(这将始终有效。)
在我们的 Solaris 服务器上,我发现这grep -r不起作用,这是我使用grep. 似乎egrep具有相同的行为。
鉴于我无法控制机器,有没有办法grep执行递归搜索?还是我需要将输出通过管道传输find到 into grep?
我想:
$ ssh eric@myserver
Run Code Online (Sandbox Code Playgroud)
myserver内网中的机器在哪里。我可以myserver在端口 8080 等上ping或响应 HTTP,但是当我尝试时ssh,我得到
ssh: connect to host myserver port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
我正在使用 Ubuntu 10。
ps -ax,如建议给出:
eric@Isaiah:~$ ps -ax | grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
1641 ? Ss 0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session
18376 pts/3 S+ 0:00 grep --color=auto ssh
Run Code Online (Sandbox Code Playgroud) 在 vim 中,如果我正在处理 Python 脚本,我通常会输入:
:! python this_script.py
Run Code Online (Sandbox Code Playgroud)
执行脚本。当前文件的名称是否有快捷方式?如果没有,我可以轻松制作一个吗?我是 vim 的新手,我不知道如何用谷歌搜索这个。
通常,人们会看到如下所示的find命令:
$ find . -name foo.txt
Run Code Online (Sandbox Code Playgroud)
当从当前目录开始搜索时。我发现在我的机器(Ubuntu、Cygwin)上我得到了相同的结果,但没有点。
为什么通常包括在内?它只是一个明确的约定,还是某些系统需要它?