Skip to content

Commit 3331730

Browse files
committed
* Implemented .vimshrc quote.
- Revised Japanese help.
1 parent d7ecfea commit 3331730

File tree

5 files changed

+52
-58
lines changed

5 files changed

+52
-58
lines changed

autoload/vimshell.vim

-1
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,6 @@ function! vimshell#print(fd, string)"{{{
351351

352352
" Strip <CR>.
353353
let l:lines = split(l:string, '\r', 1)
354-
echomsg string(l:lines)
355354
if line('$') == 1 && getline('$') == ''
356355
call setline('$', l:lines[0])
357356
let l:lines = l:lines[1:]

autoload/vimshell/internal/vimsh.vim

+23-6
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,36 @@ function! vimshell#internal#vimsh#execute(program, args, fd, other_info)
4141
\'has_head_spaces' : 0, 'is_interactive' : 0,
4242
\ 'fd' : { 'stdin' : '', 'stdout': '', 'stderr': ''},
4343
\}
44-
let l:i = 0
44+
let i = 0
4545
let l:skip_prompt = 0
46-
for l:script in readfile(l:filename)
46+
let l:lines = readfile(l:filename)
47+
let l:max = len(l:lines)
48+
49+
while i < l:max
50+
let l:script = l:lines[i]
51+
52+
" Parse check.
53+
while i+1 < l:max
54+
try
55+
call vimshell#parser#check_script(l:script)
56+
break
57+
catch /^Exception: Quote/
58+
" Join to next line.
59+
let l:script .= "\<CR>" . l:lines[i+1]
60+
let i += 1
61+
endtry
62+
endwhile
63+
4764
try
4865
let l:skip_prompt = vimshell#parser#eval_script(l:script, l:context)
49-
catch /.*/
66+
catch
5067
let l:message = (v:exception !~# '^Vim:')? v:exception : v:exception . ' ' . v:throwpoint
51-
call vimshell#error_line({}, printf('%s(%d): %s', join(a:args), l:i, l:message))
68+
call vimshell#error_line({}, printf('%s(%d): %s', join(a:args), i, l:message))
5269
return 0
5370
endtry
5471

55-
let l:i += 1
56-
endfor
72+
let i += 1
73+
endwhile
5774

5875
if l:skip_prompt
5976
" Skip prompt.

doc/vimshell.jax

+22-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Internal Commands |vimshell-internal-commands|
3535
Special Commands |vimshell-special-commands|
3636
Alter Command |vimshell-alter-command|
3737
Hook |vimshell-hook|
38+
Tips |vimshell-tips|
3839
Create plugin |vimshell-create-plugin|
3940
ToDo |vimshell-todo|
4041
Bugs |vimshell-bugs|
@@ -384,7 +385,7 @@ alias {alias-name} = {command} *vimshell-special-alias*
384385
galias {global-alias-name} = {command} *vimshell-internal-galias*
385386
vimshellにグローバルなaliasを定義します。vimshellは
386387
{global-alias-name}がコマン ドライン中に現われると、自動的に
387-
{command}に置き換えます。 |vimshell-internal-alias|とは違い、
388+
{command}に置き換えます。|vimshell-internal-alias|とは違い、
388389
引数でも展開されます。zshのグローバルエイリアスと良く似た機
389390
能です。
390391

@@ -442,6 +443,25 @@ emptycmd *vimshell-hook-emptycmd*
442443
precmd *vimshell-hook-precmd*
443444
コマンド実行後、プロンプト表示前に呼びだされます。
444445

446+
==============================================================================
447+
TIPS *vimshell-tips*
448+
ここでは、その他の便利機能について紹介します。
449+
450+
ディレクトリスタック *vimshell-tips-directory-stack*
451+
vimshellでは、bashやzshのようなディレクトリスタックを完備し
452+
ています。しかも何も設定せずにauto_pushdしてくれるので、
453+
pushdコマンドは存在しません。ディレクトリスタックを参照する
454+
には|vimshell-internal-dirs|コマンド、ディレクトリスタックか
455+
|vimshell-internal-cd|するには |vimshell-internal-popd|
456+
マンドを使います。他のシェルと同様に、"cd -"で
457+
|vimshell-internal-popd|と同じ動作になります。cdを省略して、
458+
"-"でも同じ意味です。
459+
460+
auto_cd *vimshell-tips-auto_cd*
461+
ディレクトリ名で実行すると、そのディレクトリに移動します。
462+
zshの機能を移植しました。例えば、..で上のディレクトリへ移動
463+
できます。 zshとは違い、特に設定せずに使えます。
464+
445465
==============================================================================
446466
CREATE PLUGIN *vimshell-create-plugin*
447467

@@ -460,4 +480,4 @@ CHANGELOG *vimshell-changelog*
460480
doc/vimshell.txtを参照せよ。
461481

462482
==============================================================================
463-
vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0:fdm=marker:
483+
vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0:fdm=marker:isk+=-:

doc/vimshell.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,10 @@ BUGS *vimshell-bugs*
153153
==============================================================================
154154
CHANGELOG *vimshell-changelog*
155155

156+
2010-04-20
157+
* Implemented .vimshrc quote.
158+
* Revised Japanese help.
159+
156160
2010-04-18
157161
* Implemented include Vim Script syntax.
158162

@@ -853,4 +857,4 @@ ChangeLog 3.9-1.0{{{
853857
- Initial version.}}}
854858

855859
==============================================================================
856-
vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0:fdm=marker:
860+
vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0:fdm=marker:isk+=-:

presen/vimshell.mkd

+2-48
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,7 @@ Vim scriptによって実装された究極のシェルです。
2828

2929
## 非同期実行のさせかた
3030

31-
非同期実行するには、vimprocが必要です。
32-
33-
私がvimshell用に修正したvimprocがあるので、それをリポジトリから取ってきます。
34-
<http://github.com/Shougo/vimproc>
35-
そしてproc.soをmakeします。
36-
37-
Make方法
38-
39-
* Mingw:
40-
41-
$ make -f make_mingw.mak
42-
43-
* Mac:
44-
45-
$ make -f make_mac.mak
46-
47-
* Linux BSD:
48-
49-
$ make -f make_gcc.mak
50-
51-
* Visual Studio:
52-
53-
$ make -f make_msvc.mak
54-
55-
コンパイルが通ったら、autoloadにあるproc.vimとproc.soを.vimのautoloadディレクトリにコピーします。
56-
57-
あとは.vimrc上で
58-
59-
let g:VimShell_EnableInteractive = 1
60-
61-
とすると、非同期実行が有効になります。
62-
vimshellは非同期実行のとき、Vimのシェル設定を利用しません。
31+
詳しくはヘルプファイルを参照してください。
6332

6433
## 使い方
6534

@@ -306,15 +275,6 @@ vimshellはほぼ100% Vimの機能を使って実装されているので、他
306275
Ver.6.02ではついにオムニ補完を自動で呼び出すようになりました。
307276
自動で補完を呼べるシェルはvimshellくらいでしょう。
308277

309-
## ディレクトリスタック
310-
311-
bashやzshのように、ディレクトリスタックを当然完備。
312-
しかも何も設定せずにauto\_pushdしてくれるので、pushdコマンドはありません(!)。
313-
ディレクトリスタックを参照するにはdirsコマンド、ディレクトリスタックからcdするにはpopdコマンドを使います。
314-
315-
Ver.5.33より、他のシェルと同様に、"cd -"でpopdと同じ動作になります。
316-
cdを省略して、"-"でも同じ意味です。
317-
318278
## シェル呼び出し
319279

320280
シグナルやトラップなど、vimshellでは対応できない用途にも対応するため、
@@ -338,13 +298,6 @@ iexeと組み合わせると、別バッファで簡単にインタプリタを
338298
`iexe コマンド名&``コマンド名&`の違いは、
339299
`iexe`の場合はプログラムにキーボードからの入力を送りますが、`コマンド名&`の場合はプログラムに一切入力を与えないことです。
340300

341-
## auto_cd
342-
343-
ディレクトリ名で実行すると、そのディレクトリに移動します。
344-
zshの機能を移植しました。
345-
例えば、..で上のディレクトリへ移動できます。これはまさにLife Changingな機能です。
346-
zshとは違い、特に設定せずに使えます。
347-
348301
## スクリプト実行
349302

350303
vimshコマンドの引数にスクリプトファイルを指定することで、
@@ -687,6 +640,7 @@ vimshellは今後ますます進化します。皆さんの手で、最強のシ
687640
## 更新履歴
688641

689642
=======
643+
* 2010/04/20 一部の記述を日本語ヘルプファイルに分離。
690644
* 2010/02/11 Ver.6.05に対応。
691645
* 2009/12/28 MarkDown化。
692646
* 2009/12/25 Ver.6.00に対応。

0 commit comments

Comments
 (0)