[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 08:50 / Filesize : 186 KB / Number-of Response : 800
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Vim Part14



1 名前:名無しさん@お腹いっぱい。 [2007/03/19(月) 20:09:27 ]
立ててみた。

www.vim.org/

前スレ
pc10.2ch.net/test/read.cgi/unix/1151423973/



659 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/06(土) 01:29:02 ]
拡張子毎にタブ幅を変えるのってどうすればいいんでしょうか?
~/.vimrc.c, ~/.vimrc.rb
ファイルを作成する。

~/.vimrc.c 内に
set ts=4 sw=4 sts=0
~/.vimrc.rb 内に
set ts=2 sw=2 sts=0
をそれぞれ書き込む。ということはやりました。

~/.vimrc 内に
set fexrc
を書き込んでも、そんな設定ないよ。と言われてしまいます。

OS:CentOS 5.0 VIM:7.0
です。どなたかお助けをお願いします。

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/06(土) 03:02:17 ]
>>659
~/.vimrc
autocmd BufReadCmd *.rb setlocal ts=2 sw=2 sts=0

詳細は
:he autocmd
:he autocmd-events

もしくは >>610

661 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 11:07:14 ]
GetLatestVimScriptsって使ってる人いますか?
なんか実行してもひとつずつしかDLされなくて、
何度も:GLVSしなきゃならないんですが、そういう仕様なんですかね?

662 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/08(月) 18:37:33 ]
:!grep func_name ./*.c ./*ch > grep.txt
:tabnew grep.txt
をキー一つで実行するにはどうしたらいいですか

663 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/08(月) 19:54:10 ]
バインドしろ

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/08(月) 22:15:15 ]
kwsk

665 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 13:36:04 ]
>>662
vim7専用

カーソル位置の単語をカレントディレクトリ以下(サブディレクトリ以下も)の
.cpp .c .h ファイルから検索する。
検索終了するとカレントエラーリストWindowを開く。

noremap K :vimgrep /\<<C-R><C-W>\>/ **/*.{cpp,c,h}<CR>:copen<CR>

あとは :cclose :cnew :cold を使いこなせば不便ではなくなると思う。


自分で検索文字を入力したい時はこんな感じでどうでしょうか。
noremap _g :vimgrep // **/*.{cpp,c,h}<C-B><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT>

この場合は後で :copen すればカレントエラーリスト出てきます。

666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 19:00:44 ]
>>665
レスありがとうございます。
>noremap K :vimgrep /\<<C-R><C-W>\>/ **/*.{cpp,c,h}<CR>:copen<CR>
これを実行すると検索元のファイル表示が消えるのですが
検索元のファイルは表示したままgrep結果を新しいタブもしくはウィンドウで表示するにはどうしたらいいですか

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 20:42:53 ]
>>666 ダミアンダミアン
ctrl-o で戻れるけど、それじゃダメ?



668 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 21:03:57 ]
>>667
レスありがとうございます。
c

669 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 21:06:04 ]
>>667
レスありがとうございます。
C-oで戻れるとは知りませんでした。新しいタブかウィンドウで表示されるともっと便利だけど。。

670 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 23:30:57 ]
>>669
そろそろ自分で調べれ
それでも分からんかったら
どう調べてどうやってどうダメだったか報告しれ

671 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/14(日) 15:29:09 ]
grepとタグジャンプが満足に行えないvimは糞w

672 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/14(日) 15:40:45 ]
すぐ芝植えたがる奴が増えたな

673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/14(日) 19:18:47 ]
オレも秀丸から移行してきた当初は、quickfix が使いにくかった。
まっ、慣れれば問題ないよ。
素の grep だと機能が足りないと思う場合は、別の grep を使って、
結果だけ読み込ませてしまえばいいわけだし。

674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/19(金) 14:15:24 ]
quickfixはユーザーディレクトリ( .vimfile/)にftplugin/qf.vim つくって

setlocal cursorline

nnoremap <buffer> q :cclose<CR>
nnoremap <buffer> H :colder<CR>
nnoremap <buffer> L :cnewer<CR>

とか、バッファ限定でmap増やしたりすると多分楽だと思う

他にいい方法あるか



675 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/26(金) 13:06:02 ]
ktermやmltermでエスケープシーケンスを含むキーをvmapすると
正常に認識されないね。
nnoremap <F8> :hoge はOKでも
vnoremap <F8> :hoge はNG

676 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/30(火) 00:20:39 ]
vimのプラグインもyumなんかと同じようにコマンドでネットワークから
自動インストールされるようにできないもんだろうか
あと更新も

677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/30(火) 11:11:25 ]
一応
:h getscript
というものはあるようだが…



678 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/30(火) 18:30:05 ]
getscriptとvimballはなんか微妙

679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 15:23:48 ]
viでemacsのときの癖でC-x c か C-x s と入力したら
-- ^X mode (^E^Y^L^J^F^I^K^D^V^N^P)
と表示されたまま入力を受け付けてくれなくなったのだけれど
どうすればいいですか

680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 15:35:43 ]
大抵の場合はEscかC-cでキャンセルできますよ。
ってゆーか入力を受け付けなくなったのならC-s押したんじゃね?
それならC-q

681 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 16:27:45 ]
C-qでいけました!ありがとうございます

682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 17:24:28 ]
C-c, C-z, C-s, C-q は定番だな

コマンドラインで $ や * や ? が変な風になるとかも

683 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 20:57:17 ]
C-pでの補完の動作についてなのですが、
デフォルトだとメソッドのアクセサ('.','->')で区切られて補完されるようになっていますが、
これを回避する方法ってありますか?

$this->hoge->huga

を一気に補完リストに表示してほしいです。

684 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 21:26:38 ]
>>683
iskeywordに('.','->')を追加する。

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/31(水) 23:31:53 ]
>>684
返事が遅れてすみません。
助かりました。ありがとうございます。

686 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/01(木) 10:19:02 ]
getscript書いといた。
vimwiki.net/?tips%2F103
:AutoInstall:はできるものが限られるから微妙かもしれないけど
(というかmru.vimで試したらできなかった)
ダウンロードするだけならけっこう便利。

687 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/01(木) 11:11:28 ]
>>686




688 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/02(金) 07:15:35 ]
500行から1000行ぐらいのEUC-JPで日本語混じりの文章を保存しようとすると時折失敗します。
行末にスペースやら空行やらを追加すると保存できたりするんですが、
一文字追加するだけで良かったり数文字追加しなきゃ行けなかったりで謎な感じです。
機種依存な文字は意識的に使っては居ない筈なんだけど、
他にこういう症状が出ている人いますか?

WindowsXPSP2 Kaoriya版VIM7.1+同iconv1.10
試した文字コード
cp932 OK
UTF-8 OK
EUC-JP 時々エラー
EUC-JISX0213 EUC-JPでエラーの時はこっちでもエラーが出ます


689 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/02(金) 15:17:29 ]
どういうエラーが出るんだよ、と

690 名前:KoRoN@Vim%Chalice ◆8XALICEsdk mailto:sage [2007/11/02(金) 15:24:44 ]
>>688
できたらその保存に失敗するテキストを私に送ってください。

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/04(日) 20:29:53 ]
Vim7からついたタブですが、とりあえず起動オプションで
「 -p --remote-tab-silent」とかで追加できるのはわかったんですが
これを.vimrc側に記述する方法ってありませんか?
とりあえず何でもかんでもタブ追加で開きたいんですが

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/04(日) 21:02:55 ]
>>691
つレジストリ

693 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 06:36:47 ]
>>689
変換に失敗しましたってでまする

>>690
了解しました
送信しても問題のない文書で
エラーが再現したときに送ります。

694 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 09:42:09 ]
>>692
そこをなんとか設定ファイル側で、、、
ってわけにはいかないのかなぁ
レジストリいじるのは、なんか負けたような気がするw
でもやってみます、アリガト

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 12:33:37 ]
環境はWindows XP、vim7.1です。
_gvimrcに'colorscheme default'と書くと色がおかしくなります。たとえば_vimrc内の
'set'や'map'といった単語が黄色に色づけされます。で、ここでコマンドラインから
:colorscheme default<CR>とすると元に戻ります。

_gvimrcに'colorscheme default'と書く必要はないのでどうでもいいことなのですが、
なぜそうなるかが分からないので。ご存知の方いらっしゃるでしょうか?

696 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 20:12:33 ]
:help 'background'

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 22:43:51 ]
>>696
ども。bgがdarkに設定されているのか。でもよく分からないんですが
_gvimrcに'colorscheme default'を設定後に :verbose se bg とすると
"Last set from $VIMRUNTIME\colors\default.vim"と表示されます。
で、そのdefault.vimを見ると 'set bg&' とあるのですね。つまりデフォルト
の値である'dark'にここで設定されていると。
でも gvim -u NONE -U NONE で起動したときはbg=lightなのです。
これは???よく分かりません><




698 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 23:58:02 ]
1. backgroundのデフォルトは"dark" (dosだから?)
2. :colorscheme default -> :set bg& ("dark"に設定される)
3. _gvimrc読み込み後(正確にはGUI窓を実際に開いたとき)backgroundのデフォルトが"light"に設定される。
   このとき、:hi Normalの背景色を見てbgの現在値も変更される。
   ただし、その前に一度でもbgが設定されていたなら変更しない。
   つまり、bg=dark かつ デフォルト=light な状態になる。
4. :colorscheme default -> :set bg& (こんどは"light")

699 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 11:33:44 ]
>>698
> ただし、その前に一度でもbgが設定されていたなら変更しない。

ここがポイントだったみたいです。default.vimの'se bg&'をコメントアウト、
あるいは'se bg=light'としたところ、いずれもlightに設定されました。自分用の
colorschemeは$HOME\vimfiles\colorsにつくるのがいいみたいですね。
あとoptions.txtとsyntax.txtの該当部分も参考になりました。
ありがとうございました。


700 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 12:00:14 ]
Vim 7.1 patches 145で、
:file [b-a]
とかやると、バッファの名前は変わるが、
E16 Invalid Rangeが出る。[a-b]だと出ない。
-の前後で、アルファベットが逆順だと出るみたい。これってバグ?

FuzzyFinder.vimって便利なプラグイン使わせてもらってるんだけど、
1.4.1からこれのせいで、エラーがでる。まぁ、-の前後にスペース入れちゃえば、
問題ないから、たいしたことではないのだけど。

701 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 14:38:36 ]
>>700
バグでもなんでもない。[とか]とかのヤバげな文字をエスケープしてないから。
:file \[a-b\]
とかすべし。

:file [a-b] はカレントディレクトリに名前がaかbのファイルかディレクトリがあったら
:file a とか :file b とか :file a b とかに展開・解釈される。
バッファ名が[a-b]になるのは、
たまたまカレントディレクトリにその手のファイルやディレクトリがなくて、
パターンが展開されずそのまま用いられただけ。
[b-a]はパターンとして不正だからエラーになる。
OK?

702 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 00:47:47 ]
Vim 7.1 の changelog モード使ってる方いらっしゃいますか?
<leader> + o でエラーが出ちゃうんですが・・・

703 名前:名無しさん@お腹いっぱい。 [2007/11/10(土) 02:31:16 ]
bufexplorerで空白の入ったパスのファイルを開くと挙動がおかしくなるんだけどオレだけ?
netrwもバグバグだしVimはなんかスクリプトの質が低いな

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 13:31:25 ]
>>702
バグあるらしいよ。
pc11.2ch.net/test/read.cgi/unix/1174302567/318-321

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 15:07:26 ]
>>703
ノシ

バージョン戻した。

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 15:11:40 ]
WinXP Vim7.1で、拡張子c。

void func(
hoge, /*(i ) hoge */
);

下側のカッコが赤くハイライトされるが何故?

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 15:16:41 ]
ならないが



708 名前:sakura [2007/11/10(土) 15:32:36 ]
GVim 7.0 kaoriya版を使っています。TOhtmlでset ft=memoとした時の
色がおかしい。 TOhtmlでHTML表示した時に、黒が紫の色になっている。
今の所は例えば他のファイルタイプでは、色の違いは出ていない。どこ
が、おかしいのだろうか?

709 名前:名無しさん@お腹いっぱい。 [2007/11/10(土) 15:46:51 ]
>>705
やっぱりそうかー
結構前からずっとこうなんだけど治らないね
誰か英語で突っ込んでくれないかと他力本願

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 16:49:41 ]
>>701
> :file \[a-b\]
全然エスケープできてない

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 20:17:30 ]
>>704
さんくす。ガイシュツだったのね。

712 名前:sakura [2007/11/11(日) 07:39:22 ]
恥ずかしながら、自己解決しました。原因はautodate.vimの影響で、
LastChange:.が災いしていました。どうもお騒せしました。


713 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 21:28:18 ]
vim初心者です。
vimを使う時、ファイルの一覧見たり、shell を使ったりするのはどうやるのが普通ですか?
emacsでいう dired みたいな。

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 23:05:24 ]
右手にgvim
左手にシェル端末
心にエクスプローラ

715 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 23:15:42 ]
右手に NetBSD
左手に nvi
心に itojun

716 名前:713 mailto:sage [2007/11/12(月) 23:38:08 ]
>>714
ありがとうございます。

>>715
泣けてきます。

puttyなどのコンソールでの使用だったら、どうやります?

717 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 23:40:49 ]
よく判らないけど screen とか使えないんだっけ?



718 名前:713 mailto:sage [2007/11/12(月) 23:55:52 ]
>>717
screen も一つの方法だと思ったんですが、
実際、そうやってる人がどれくらいいるんだろうと思いました。

719 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 00:05:08 ]
え?話の流れて気に
:Exploreとか
:!の話をしてるのかと思った

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 00:05:34 ]
>>718
zsh+screen+vim(+LustyExplorer) でやってるよ。
快適。

721 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 00:10:39 ]
ファイラみたいなやつならNERD treeとかいろいろあるね
標準でもnetrwが付いてるし
でもvimでファイラやるのはなんか不安だから使ってない

722 名前:713 mailto:sage [2007/11/13(火) 00:54:55 ]
みなさんありがとうございます。

vimの拡張は、 scripts って呼ばれてるみたいですね。
そこにいろいろあると。

>>721
vimでファイラは不安というのは、リアルなお話しですね。
>>720
screenで画面分割してます?
もしそうなら、1つのウィンドウでshellを操作してて、
このファイル開きたいなと思った時に
簡単に別のウィンドウの方に開くことができるんでしょうか?
screenの話しになっちゃうかもしれませんが。

723 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 01:14:56 ]
>>722
こういうのあるみたいだけど使っていないからなんとも
ttp://www.wana.at/vimshell/

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 01:18:14 ]
Python があるならこういうのもあるみたい
ttp://d.hatena.ne.jp/tanakaBox/20071011/1192051594

725 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 01:49:20 ]
>>723
>>724
ありがとうございます。

vimshellってのは結構本格的なターミナルエミュレータだって書いてますね。
vimにパッチあてなきゃいけないのが、少し面倒な点でしょうか。

この作者が、「Pythonで似たようなのがあるが、機能が限られてるから作った」みたいなこと
書いてますけど、これが、>>724なのかもしれないですね。

まずは、実際にいろいろ使ってみようと思います。

726 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 01:52:46 ]
vimshellでzshを使うとタブで補完ができないのはなんでだろ?
bashだとできるんだけど。

727 名前:720 mailto:sage [2007/11/13(火) 01:53:08 ]
>>722
画面分割はしてないです。切り替えだけ。
そういう場合はそのウィンドウで開いちゃうことが多いかな。
で、新しくウィンドウを生成して以降のシェル操作はそっちでやる。



728 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 02:14:45 ]
>>727
その方法で慣れるのも一つの方法ですね。
vimは起動が速いので(Emacsより)、その方法でもストレス無さそうです。

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 02:28:35 ]
なんだかんだ言ってほとんどのやつが一番多くやっているのが
C-zと予想。

730 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 02:37:24 ]
:sh していたらどこまでネストしているのか判らなくなったりします

731 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 12:28:03 ]
vimshell 試してみたんだけど、gvim 中で bash 起動すると
数秒起きに改行されるのは俺だけ?

732 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 12:46:51 ]
gvimとかで、背景に画像貼ったりできないの?

733 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:20:05 ]
>>732
jvimなら出来てたなぁ(遠い目)

734 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:23:06 ]
まぁ画像を背景にできるターミナルソフトでvimを使えばいいじゃない
と思ったが、gvimでできると面白いだろうなぁ
そういう遊び心が欲しい気も

735 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:30:59 ]
gvim入れてない・・

736 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 09:13:12 ]
FuzzyFinderとか使ってる人はもうファイルを開くのは全部それでやってるの?
便利だとは思うんだが、指が完全に:eに慣れちゃっててどうも移行しきれない…

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 20:49:59 ]
bufexplorer バージョンアップしても相変わらず空白パスを扱えないな



738 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 21:07:05 ]
>>736
体が覚えてるようなやつは、無理に乗り換えたりしないな。:e Make<Tab> とか。
どれだったかなーってだらだら探すときはfuzzyfinder使ってる。

739 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:11:41 ]
選択範囲の各行頭に連番を挿入してリストを作れるようにしたいのですが、
どのようにしたら実現できるでしょうか?
hogehoge
hogehoge

1.hogehoge
2.hogehoge
にするイメージです。

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:39:39 ]
>>737 作者に教えたれよ

741 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:56:16 ]
>>739
vimwiki.net/?tips%2F91

742 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 23:30:15 ]
>>738
一行目だけ手で 1: を先頭に入れる
yw で 1 をレジスタに登録
j で二行目に移動して qq でキーボードマクロ q への登録スタート
I<C-R>": で 1: を行頭に挿入して <ESC> で抜ける
0<C-A> で行頭にもどって値をインクリメント
yiw でインクリメントした値をレジスタに登録して q でキーボードマクロ終了

これで一行分のキーボードマクロが出来ます
あとは Vjjj と必要な分だけヴィジュアルモードで選択して

:'<'>norm@q

と打てば選択範囲に q で登録されたキーボードマクロが実行されます
最初にレジスタに登録させる数字をかえればその次の数字から連番されます
<C-A> の前に 3 などを打てば 3 とばしに連番出来ます

これはどんな操作も範囲内に適用できるので汎用性の高い方法です
:'<'>norm@q は map しておいても良いかも知れません
また vis.vim を導入して

:'<'>B norm@q

とすることでブロック選択内にキーボードマクロを適用することも可能です

vis.vim
ttp://www.vim.org/scripts/script.php?script_id=1195

743 名前:739 mailto:sage [2007/11/14(水) 23:42:09 ]
>>741-742
レスありがとうございます。
とりあえず>>741で教えていただいたページを参考に以下のようにしてみました。
function! YankWithIncreNumber() range
let a = ""
let i = a:firstline
let c = 1
while i <= a:lastline
let a = a . c . "." . getline(i) . "\n"
let i = i + 1
let c = c + 1
endwhile
call setreg('*', a, "l")
silent execute "p"
endfunction
vmap <silent> <Leader>l :call YankWithIncreNumber()<CR>Pgvd

744 名前:739 mailto:sage [2007/11/14(水) 23:46:06 ]
これで一応期待した動作にはなったのですが、
はたしてこれがスマートな方法なのかどうかは不明・・・
もっとすっきりした方法があればご教授くださいorz

745 名前:739 mailto:sage [2007/11/14(水) 23:58:51 ]
すみません。>>743で「silent execute "p"」の部分は消し忘れでした。不要です。
実のところvimスクリプトの書き方があまりりよく分かってません。
できればわざわざレジストリに登録せずに連番付きのテキストに置き換えられるといいんですが。

あと、>>742の「ブロック選択内にキーボードマクロを適用」ってできるんですね。
知りませんでした。丁寧に説明していただいてありがとうございます。

746 名前:739 mailto:sage [2007/11/15(木) 01:42:38 ]
何度も連投ごめんなさい。
こいつを導入してみたところ、
www.vim.org/scripts/script.php?script_id=670
これ一行で実現できたかもです。
vmap <silent> <Leader>l :s/^/1\./<CR>gv^o^<C-v>:I<CR>j
とりあえずご報告まで。 以後自重します。お騒がせしました。

747 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 02:09:47 ]
<silent> <Leader> って何?



748 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 02:35:17 ]
:help <silent>
:help <leader>

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 16:56:13 ]
プチtip
カーソル下の単語の先頭の文字へ移動するには:
"_yiw
(bだと前の単語へ移動しちゃうかもしれないのでマップとかでは使えない)

750 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 18:00:38 ]
netrw(:Explorer)はツリー表示もできる。iを押すと4種類の表示形式を切り替えられる。
let = g:netrw_liststyle = 0 〜 3
で設定できる。
でもCygwinで使ってるとときどきclipboard云々というエラーが出る。

751 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 20:06:01 ]
というか netrw もバグバグ
もうどうにかして貰いたい

752 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 21:35:29 ]
>>751
どうにかしてください。

753 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 23:48:37 ]
"my_function()" みたいな語句で "my" だけを修正するために,
'_' (アンダースコア) を単語の区切りとして認識させたいんですけど,
方法を知っている方いらっしゃいませんか?

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 00:33:59 ]
>>753
俺なら m のところにカーソル持っていって ct_ で置き換えるな。

755 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 01:19:13 ]
vimでアウトラインとかやりたい時
一番有名というか定番な拡張って何ですか?
(本体には採用予定ないんですよね?)

756 名前:753 mailto:sage [2007/11/16(金) 01:23:12 ]
>>754
cw と違ってその場で任意の文字に対応できて良さそうですし
その方法を使ってみます.
どうもありがとうございます.

757 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 01:25:55 ]
こういうのもある。
camelcasemotion - Mappings for motion through CamelCaseWords and underscore_notation. : vim online
www.vim.org/scripts/script.php?script_id=1905

俺も ct_ でやるけど、これは4キー。
速さとタイプしやすさを総合すると、vで選択してcの方がいいかもという気はする。



758 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 01:50:16 ]
>>757
ありがとうございます.欲しかったのはまさにこの機能です.
v3wc (v3t_c) でも c3w (c3t_) でもあまり変わらないと思いますが,
自分は何となく v は目が疲れるような気がするので避けています.

759 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 02:28:56 ]
>>755
アウトラインてこういうの?
vimwiki.net/?tips%2F92
vimの正規表現は強力だから他のエディタがやってる正規表現ベースの
アウトラインならけっこう簡単に作れると思う。

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 08:20:18 ]
>>759
いや、そういう関数一覧とかいう感じのじゃなく
単なる階層構造というか、通常文章での章立てみたいなのを扱いたいんですよね
秀丸やWZなんかについてるアレです
ttp://hide.maruo.co.jp/software/hidemaru7/outline.html
ここの「通常のテキスト」みたいな奴ですね

とりあえずwww.vim.orgからTVOってのを落としてきましたが
オール英語で使い方を模索中でござる
他に遣っている方いますかね?

761 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 09:25:17 ]
スマートテキスト系のパーサをいじって、章ヘッダとかをtagsファイルに出力させて、
それをtaglist.vimで参照しつつvimで論文を書いたことある。
パブリッシュや印刷プレビューなんかはMakefileに書いて一発呼出しすればさらに便利。

まわりが長文だけはemacsとか、macやwinを使う中で、なかば意地で書いた環境だったけどわりと使えたな。


762 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 05:19:47 ]
hide.maruo.co.jp/software/hidemaru7/image/hm_outline1.png
これはvimに欲しいと思った

763 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 05:26:20 ]
>>737
作者にpatch送りました。version 7.1.4で取り込まれた様子

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 06:24:19 ]
gj

765 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 06:49:21 ]
>>764
thx.
でも、bufexplorer.vimの改行コードが dos(CRLF)に変わっとる。
そのお蔭か、Windows上では問題ないっぽいけど、Linux上のvim(or gvim)でエラーがでる。
:se ff=unix
:w
したらエラー出なくなる模様

766 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 11:57:58 ]
>>763
ありがとう
もの凄く感謝

2バージョン放置されていたところを見るとやっぱり空白パスなんて使っている人居ないんだろうね・・・

767 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 23:52:48 ]
そういうことではないと思うが…
次はがんばれ



768 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 00:00:22 ]
vimの背景に画像を設定することはできますか?

769 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 00:38:13 ]
>>768
っttp://gugurekasu.com/

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 01:33:05 ]
>>769
けなげに、ごくろう!
ありがとうございました。

771 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 09:20:23 ]
ttp://gugurekasu.com/ってこのためだけにドメインとってるの?w
なんかスゲー

772 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 15:40:31 ]
version 6.1だけど画像を背景にできるのを見つけた
ttp://www.jbrowse.com/text/bmbk.shtml
ver7以降も作ってくれるといいのになぁ

773 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 17:23:04 ]
なんか150行位のpatchだしvim7にもちょっとの修正でなんとかなるんじゃない?
半分以上は宣言とか、登録とかで、実装部はそんなにないし。いや、ちらっとしか見てないけど。


774 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 22:38:31 ]
誰か最新版で作ってくれ

775 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 00:25:18 ]
行の位置とかは調整しないとだめだけどコードはそのままで動くぞ

776 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 14:44:25 ]
escを ctrl+[ で入力するとなぜか ^] が入力されてしまうマシンがあります。
^jでEnterとかはうまくいくのに、ctrl+[だけ動作がヘンです。対処法があれば教えてください。

777 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 15:04:44 ]
キーボードの配列がASCIIになってないかそれ?



778 名前:776 mailto:sage [2007/11/21(水) 15:17:36 ]
gnomeでキーボード設定をいじるのをやめて、x.orgの設定を活かすようにしたら直ったようです。
キーボード配列というヒントありがとうございました。

779 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 00:30:38 ]
ノートパソコンに入れて使ってみたらESCの押し間違いでF1押して
ヘルプが開いてしまいます。。F1でヘルプを開くのをとめたいのですが
どうすればよいでしょうか・・・。:hはよく使います。おねがいます。

780 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 00:41:17 ]
>>779
:help <Nop>

781 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 12:09:00 ]
キーワードを2つ以上使い分けてnやNを利用できないでしょうか?

例えば検索キーがword1、word2の二つあったとすると、
・nを押したらカーソル位置以降のword1を検索
・何かのキーを押したらカーソル位置以降のword2を検索

という風にしたいのです。
よろしくお願いします。

782 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 12:34:36 ]
/のあとカーソルキーで検索履歴をたどるのではダメ?

783 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 13:15:09 ]
別のウィンドウでもうひとつvim動かした方がよくない?

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 14:25:13 ]
履歴のほうならhistget("search",-2)で一つ前の検索語を取得できるな
helpで
> |:history|によって出力される{num}番目のエントリを、再
> 度実行するための":H {num}"というコマンドを定義する。
> command -nargs=1 H execute histget("cmd",0+<args>)

というのが紹介されているので、これをいじって

command -nargs=1 S execute "/" . histget("search",0-<args>)
とすれば:S のあとに入力された数だけ直前の検索語を検索できる
ちなみに:S 1は現在の語なので :S 2 で一つ前ね
:S のとき : S 2 と動作するように改良すればトグル動作にできる


プラグインだとmultiplesearchプラグインなら検索語を色分けできる

785 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 14:26:36 ]
:history
:history search
histget()
あたりのhelpよめばほかに何かいいものが浮かぶかもしれない

786 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 22:26:08 ]
>>780
ありがとうございます!できました!

787 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 20:33:28 ]
/search1/;/search2/
がよくわからん。だれか教えてけれ
:help //; でドキュメントは見れるんだけどな



788 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 23:19:41 ]
>>787
何が分からないのかがよくわかんないんだけど ";"のこと?
範囲指定の","と";"の違いですか?もしそうなら cmdline-rangesを参考に。
そうじゃなければスマソ。


789 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/24(土) 14:25:41 ]
テンプレートを入力するプラグインを書きました。以下宣伝です。
ripjohn.net/program/vim/template.zip
ripjohn.net/program/vim/index.html#template
内容:
>>354みたいに、テンプレートの展開には短縮入力機能を使います。
・ただ:iabbrevコマンドは特殊文字の入力がしんどいので(<CR>とか<lt>みたいに)、
  文字列値の式を引数にとって、変換して:iabbrevに渡すコマンドを用意しました。
・あとは、プレースホルダに飛ぶコマンド(<S-CR>, <C-CR>)と置き換えるコマンド(<CR>)だけです。
・プレースホルダには、デフォルトで入力される文字列を指定できます。
例:
「:StringAbbrLocal fopen] 'fopen(<+fname+>, <+mode:"r"+>)<++>'」で登録。
挿入モードで「fopen]」と打って<Esc>すると上記の通り展開される。
<S-CR>でひとつめのプレースホルダに移動、<CR>で入力開始。
再度<S-CR>でふたつ目のプレースホルダに。<CR>で「"r"」が挿入されて入力開始。
再々度<S-CR>で最後のプレースホルダ「<++>」が削除され、入力開始。

簡素ですが、コード書きやマークアップ文書の編集には大体間に合うんじゃないかと思います。
ご意見いただければ幸いです。

790 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/24(土) 14:34:56 ]
>>760
折り畳みで間に合うんじゃないですか? cf. :help folding
例:
 vim: set foldmethod=marker :
1章 供犠 {{{
1.1 供犠の機能 {{{
  ほげほげ
 }}}
1.2 供犠の危機 {{{
  うんたらかんたら
 }}}
}}}
2章 オイディプスと贖罪のいけにえ {{{
  ふーばー
}}}

って感じで。
foldmethod=exprで、foldexprに判別式を設定すれば
もうちょっとスマートに書けます。

791 名前:781 mailto:sage [2007/11/24(土) 15:17:18 ]
レスありがとうございます。

>>781
シーケンシャルでなくランダムアクセスでやりたいです。
Googleツールバーのように、複数のキーワードのボタンが勝手に出来て、
好きなのを押せばそのキーワードでページ内検索できるのがすごく便利だなと思ったので。
mで登録、`で移動と同様のやり方で検索キーを使い分けられればベストです。

>>784
ありがとうございます!これでほぼ解決できました。
:S2などでキーを切り替えてn、Nで次々に飛べるのでやみつきです。



792 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/25(日) 22:59:02 ]
>>784
これどうよ
検索履歴10個を候補にステータスラインに出す
/コマンドって履歴をステータスラインに出すほうがいいよね

let s:size = 10
function! s:S_completionList(A,L,P)
return join(map(range(1,s:size),'histget("search",0-v:val)'),"\n")
endfunction

command! -complete=custom,s:S_completionList -nargs=1 S exec "/".<q-args>



793 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 21:37:00 ]
すいません、素朴な疑問があるのですが

カーソル移動をホームポジションに割り当てたところで、あるいはwやbを用意したところで
エスケープキーを押す必要があると、かえって使いにくいと思わないですか?

Ctrl+M や Ctrl+H みたいなことができるなら、ギリギリまでホームポジションに手を置いたまま作業ができそうですが
いちいちEscまで手を伸ばすのは結構しんどいと思うのですが・・・

つまらない事かもしれませんが、Vimをバリバリ使っている人がどう思ってるのか聞きたいです。

794 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:09:26 ]
Ctrl+[ を使うからホームポジション崩れませんがな

795 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:17:58 ]
Ctlr+C使ってる

796 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:27:13 ]
Ctrl+C 潰しちゃあかんやろ

797 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:27:30 ]
エスケープキーはファンクションキーと同じでvimに限らずほとんど触ることがないな
一応ついてるキーボードだけど



798 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:40:20 ]
" alt + i 連打で () で囲まれた範囲を拡大選択
nnoremap <M-i> vib
vnoremap <M-i> ib

" alt + shift + i 連打で {} で囲まれた範囲を拡大選択
nnoremap <M-I> viB
vnoremap <M-I> iB


いまこういう設定をしているんだけどこれを <M-i> 連打するだけで
内側からテキストオブジェクトの範囲を拡大して選択するいいアイディアって無いものだろうか

function test()
{
alert("test");
}

文字列 test の中にカーソルがある時に <M-i> を一回押すと test が選択されて
もう一回 <M-i> を押すと今度は "test" が選択されてもう一度押すと alert("test"); が選択される感じ

799 名前:793 mailto:sage [2007/11/27(火) 23:14:41 ]
あうあうー
こんな便利なキーがあったとは・・・orz






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<186KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef