Vim Part24
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2014/10/12(日) 22:56:29.52http://www.vim.org/
前スレ
Vim Part23
http://peace.2ch.net/test/read.cgi/unix/1393376019/
関連情報は>>2-6あたり
0201名無しさん@お腹いっぱい。
2014/11/17(月) 10:23:07.960202名無しさん@お腹いっぱい。
2014/11/17(月) 11:20:21.12remote_foreground()をマッピングして行き来しながら、結構便利。
0203名無しさん@お腹いっぱい。
2014/11/17(月) 12:59:23.670204名無しさん@お腹いっぱい。
2014/11/17(月) 14:08:18.67:guiでgvimに移れるけど:cuiでvimに戻るという訳にはいかないのが残念
0205名無しさん@お腹いっぱい。
2014/11/17(月) 14:37:17.980206名無しさん@お腹いっぱい。
2014/11/17(月) 16:41:05.83xtermだと今開いているファイル名が出てるのに
ぐぐってみたがどれも効果なし
0207名無しさん@お腹いっぱい。
2014/11/17(月) 19:31:38.160208名無しさん@お腹いっぱい。
2014/11/18(火) 00:38:57.230209名無しさん@お腹いっぱい。
2014/11/18(火) 00:39:29.570210名無しさん@お腹いっぱい。
2014/11/18(火) 19:18:59.51viは見たことない
0211名無しさん@お腹いっぱい。
2014/11/18(火) 19:21:39.38同期するとどういうことができるようになりますか?
0212名無しさん@お腹いっぱい。
2014/11/18(火) 19:22:37.860213名無しさん@お腹いっぱい。
2014/11/18(火) 20:33:01.98vimproc入れたみたいになるのでは?
grepとかで再帰的に探している間にも
操作できるとか?
>>212
アップデートめんどくさくないか?
0214名無しさん@お腹いっぱい。
2014/11/18(火) 21:03:54.48何言ってんだか良く分からん
どっちにしろLazy読み込みは有用だと思うが
0215名無しさん@お腹いっぱい。
2014/11/18(火) 21:28:30.81別にええけど
0216名無しさん@お腹いっぱい。
2014/11/18(火) 22:04:06.02プラグインなんて頻繁に入れるわけでもないし
0217名無しさん@お腹いっぱい。
2014/11/18(火) 22:08:48.140218名無しさん@お腹いっぱい。
2014/11/18(火) 22:24:46.65その後出番が来ないから消すんだよな
0219名無しさん@お腹いっぱい。
2014/11/18(火) 23:22:54.93今日、.vim/color/のカラースキーム触ったけど:ColorHighlight役に立ったわ
#がある6桁の数字を対応する色でハイライトしてくれるやつ
hi SignColumn guifg=#839496 guibg=#bebebe guisp=#bebebe gui=NONE ctermfg=66 ctermbg=7 cterm=NONE
滅多に使わないけど絶対使うことが分かってるのだけは残してる
0220名無しさん@お腹いっぱい。
2014/11/18(火) 23:29:51.06uniteはuniteでかったるいし
0221名無しさん@お腹いっぱい。
2014/11/19(水) 00:03:00.34て、別に困ってないからいいわけだけども
0222名無しさん@お腹いっぱい。
2014/11/19(水) 03:21:46.05めったに使わないキーバインドはモニタの脇に貼ってある
老人の知恵は侮れない
0223名無しさん@お腹いっぱい。
2014/11/19(水) 17:47:44.880224名無しさん@お腹いっぱい。
2014/11/20(木) 00:06:32.31できたやつ書いておく。C-fやC-bならEmacsとほぼ同じ
nmap <F9> <c-w>w<c-d><c-w>w
nmap <F10> <c-w>w<c-u><c-w>w
ステータスバーがちらくつ点が未完成
vimscriptで仕上げないと駄目そうだ。マクロではこの辺が限界
0225名無しさん@お腹いっぱい。
2014/11/20(木) 01:26:05.73>>224 ちょっとムキになってみたw
nnoremap <silent><F9> :exe winnr('$')."wincmd w <bar>:exe \"normal! \\<lt>c-u>\"<bar>".winnr()."wincmd w"<cr>
nnoremap <silent><F10> :exe winnr('$')."wincmd w <bar>:exe \"normal! \\<lt>c-d>\"<bar>".winnr()."wincmd w"<cr>
0226名無しさん@お腹いっぱい。
2014/11/20(木) 01:47:06.97関数作ろうぜww.そしたら<bar>とかやんなくてもいいから多少は見やすくなるじゃろ
0227名無しさん@お腹いっぱい。
2014/11/20(木) 09:07:07.64このキーを入れ替えるキーマップの書き方も教えてください先輩
0228名無しさん@お腹いっぱい。
2014/11/20(木) 11:24:38.58nnoremap i a
nnoremap a i
I A等もわすれずに
>>225
224のはインサートモード中からEsc挟んでやるとさらに遅さが気になるので参考になるわ
サンキュー
0229名無しさん@お腹いっぱい。
2014/11/20(木) 11:54:35.73a = [
________[0,1,0],
________[0,1,0],
________[0,1,1],
________]
(_は半角スペース)
インデントが2倍になってる
理想は
a = [
____[0,1,0],
____[0,1,0],
____[0,1,1],
]
vimrcはこう設定した
set tabstop=4
set shiftwidth=4
set softtabstop=4
どうvimrcを修正したらインデントがただしくなるか?
0230名無しさん@お腹いっぱい。
2014/11/20(木) 21:50:29.34/.vim/after/においたfiletype pluginを読み込んでくれないのですが
どのようにすれば読み込んでくれるようになるでしょうか。
0231名無しさん@お腹いっぱい。
2014/11/20(木) 22:10:14.70~/.vim/after/ftpluginにおいたら無事に読み込んでくれました。
0232名無しさん@お腹いっぱい。
2014/11/23(日) 16:43:47.67こういうのはvim-jpのどのページを見たらいいのかおしえてください
0233名無しさん@お腹いっぱい。
2014/11/23(日) 18:19:31.11:h nnoremap
:h innoremp
で分かる
で、vim-jpは
http://vim-jp.org/vimdoc-ja/
に以下の様なドキュメントがコピーされているから、(:hでみれるやつ)
Emacs-w3m等から見たいとか、そういうことはできるけども
基本 :h にお任せ
基本
□ quickref
□ sponsor
ユーザーマニュアル目次
□ usr_toc
初級編
□ usr_01
□ usr_02
0234名無しさん@お腹いっぱい。
2014/11/23(日) 18:21:34.490235名無しさん@お腹いっぱい。
2014/11/23(日) 23:40:10.41Vim は Ctrl + Shift + アルファベット みたいなキーバインドは割り当てられないよ!
不便すぎてごめんねぇ
Alt + Shift + アルファベット ならできるんだけどね
0236名無しさん@お腹いっぱい。
2014/11/23(日) 23:59:45.870237名無しさん@お腹いっぱい。
2014/11/24(月) 00:08:13.67まじかw
使えないならば tmux や terminatorに 安心して割り当てられるな
0238名無しさん@お腹いっぱい。
2014/11/24(月) 01:35:24.51ユーザーの入力を受け取るために
let res = input('キーを入力してください:')
のようなソースがあります。
このままだと、ユーザーが何か文字を入力してEnterを押すと、入力の窓が閉じます。
Enterで閉じるのではなく、何かキーを一度押したら自動で窓を閉じたいのですが、可能でしょうか?
0239名無しさん@お腹いっぱい。
2014/11/24(月) 02:17:57.710240238
2014/11/24(月) 03:02:44.31ご返信ありがとうございます。
getchar()で1文字取得できたのですが、
1文字入力後に
「続けるにはEnterを押すかコマンドを入力してください」
という文が表示されて結局Enterを押す事になってしまいます。
let res = getchar()
の後に
execute 'ccl'
や
execute 'normal <cr>'
を試しましたが上の文は消せませんでした。
0241名無しさん@お腹いっぱい。
2014/11/24(月) 03:10:37.92とりあえずスクリプト内で一時的に let &ch = 5 とかするとか、echon で改行を抑制するとか。
にたよな事例 http://anago.2ch.net/test/read.cgi/software/1379912425/933
0242名無しさん@お腹いっぱい。
2014/11/24(月) 03:11:43.650243238
2014/11/24(月) 03:58:57.68確かにgetchar()の前にechoで出力してました。
redrawで綺麗に消せました
0244名無しさん@お腹いっぱい。
2014/11/24(月) 17:37:52.12具体的には
nnoremap <Space> <PageDown>
この<Space>はreadonlyではない時には何かしらのprefixになっているとして
うまく設定するやり方はないでしょうか?
今は
if v:readonly == 1
nnoremap <Space> <PageDown>
endif
と書いて構文エラーで跳ねられています
0245名無しさん@お腹いっぱい。
2014/11/24(月) 17:58:59.86最近の関数つかえばマシなのが出来る気がするけど。>>244
0246名無しさん@お腹いっぱい。
2014/11/24(月) 18:03:29.730247名無しさん@お腹いっぱい。
2014/11/24(月) 20:03:59.05マッピング設定する関数作って
autocmd BufEnter と BufLeaveで設定のロード、アンロードするのが最初に思いついた
0248名無しさん@お腹いっぱい。
2014/11/24(月) 20:22:29.41au CursorHold * :echo "setbufvar()の第一引数にexpand('<abuf>')をそのまま使うとハマルのさ!"
au CursorHold * :au! Dorompa
aug END
0249名無しさん@お腹いっぱい。
2014/11/26(水) 08:03:16.89リードオンリーのバッファは開いた時から閉じるまでリードオンリーってことでいいんだよね?
最近のvimなら <buffer><nowait> オプションつけてマップすればいいと思う
function! s:rospace()
if &readonly == 1
nnoremap <buffer><nowait> <Space> <PageDown>
endif
endfunction
autocmd BufRead,BufNewFile * call s:rospace()
たぶんこれでできるんじゃないかなぁ
autocmdの設定とか微妙だったら適当に変えて
augroupつけるとか
0250名無しさん@お腹いっぱい。
2014/11/26(水) 09:31:11.23ありがとう
&ro(&readonly) や ? : の三項演算子に <lt>の具体的な活用、
autocmd aug au, など便利なのを紹介してくれて解決できそうです
---
>リードオンリーのバッファは開いた時から閉じるまで
多くの場合は command! RO :set readonly! で途中で切り替えてます
ファイル観覧中など一時的に編集したくない時にxやuの誤爆を防ぐ意味で:RO
gitのdiffや、vim-gitgutterにcommitの-v でほとんど回収できるミスですが
未然に防ぎたいのでread onlyに切り替えます
Emacsのview.elが誤爆封じと観覧操作の簡易化の2つを持っていたので
少し移植してみようかなと思ってたら、今回のように序盤でつまずいてしまいました
0251名無しさん@お腹いっぱい。
2014/11/26(水) 09:32:36.41リンクミス 失礼しました
0252名無しさん@お腹いっぱい。
2014/11/26(水) 13:42:06.95それはたぶん indent/python.vim の方の問題で、
vimrc はそれであってるけど vim さんがふたつぶんインデントしようとしてる模様
vim-python-pep8-indent という plugin があり、これを入れれば解決する
0253名無しさん@お腹いっぱい。
2014/11/26(水) 13:47:17.26http://d.hatena.ne.jp/thinca/20100205/1265307642
ノーマルモードでaに関数を割り当てる場合
nnoremap a :<C-u>call <SID>func()<CR>
って書いたらaで関数実行できますが
nnoremap a :call <SID>func()<CR>
でも実行できました
この<C-u>っていうのが何なのか調べようと思ったんですが:h C-uでも:h <C-u>でもヘルプに載ってません
これの意味を教えてください
0254名無しさん@お腹いっぱい。
2014/11/26(水) 14:22:33.11行頭まで全削除
選択してたり数字が直前に打たれてたりすると、コマンドモードに入った時に自動で少し入力される
それを消すために入れてる
:help c_CTRL-U
ヘルプだとコントロールキーは CTRL と大文字
0255名無しさん@お腹いっぱい。
2014/11/26(水) 14:41:37.24ありがとうございます
0256名無しさん@お腹いっぱい。
2014/11/26(水) 17:34:02.030257名無しさん@お腹いっぱい。
2014/11/26(水) 17:35:13.950258名無しさん@お腹いっぱい。
2014/11/26(水) 17:35:53.990259名無しさん@お腹いっぱい。
2014/11/26(水) 22:26:39.300260名無しさん@お腹いっぱい。
2014/11/26(水) 22:30:04.29:h n_V
0261名無しさん@お腹いっぱい。
2014/11/26(水) 23:04:09.82E149: 残念ですが n_V にはヘルプがありません
ってなりました
0262名無しさん@お腹いっぱい。
2014/11/26(水) 23:12:01.870263名無しさん@お腹いっぱい。
2014/11/26(水) 23:47:48.88:h V
:h linewise-visual
0264名無しさん@お腹いっぱい。
2014/11/27(木) 16:52:37.12真ん中の文字をキャプチャして表示したいんですがabcって表示されます
指定した部分だけをキャプチャするパターンはどう書けばいいですか?
0265名無しさん@お腹いっぱい。
2014/11/27(木) 17:01:47.740266名無しさん@お腹いっぱい。
2014/11/27(木) 17:03:16.920267名無しさん@お腹いっぱい。
2014/11/27(木) 17:04:51.36echo matchlist("abc",'.\(.\).')[1]
0268名無しさん@お腹いっぱい。
2014/11/27(木) 18:29:28.030269名無しさん@お腹いっぱい。
2014/11/27(木) 18:44:18.93たすかりました
0270名無しさん@お腹いっぱい。
2014/11/27(木) 19:30:57.84構文強調のパターンとか変態の域だけど(\zs\zeとかその辺の派生だろか)。
0271名無しさん@お腹いっぱい。
2014/11/27(木) 19:35:14.150272名無しさん@お腹いっぱい。
2014/11/27(木) 21:43:53.19\vは\cと同じでどこに書いてもいいのなら良かったのに
/だよもん/もんだよ/だもよん とタイプしてから気付いても後の祭りorz
0273名無しさん@お腹いっぱい。
2014/11/27(木) 21:44:34.37/だよもん|もんだよ|だもよん だよもん
0274名無しさん@お腹いっぱい。
2014/11/28(金) 00:17:54.59/\([だよもん]\)\%(\1\)\@!\([だよもん]\)\%(\1\|\2\)\@!\([だよもん]\)\%(\1\|\2\|\3\)\@![だよもん]/
三文字目までのパターンなら &re の値がいずれでもマッチするんだけど。
0275名無しさん@お腹いっぱい。
2014/11/28(金) 01:30:15.670276名無しさん@お腹いっぱい。
2014/11/28(金) 11:56:42.37echo "1^M2"で2しか表示されません何故ですか?
echo "1\r2"もそうでした
echo "1\n2"はちゃんと改行されて1と2が表示されました
^M \r \nってどう使い分けるものですか?
^MはCTRL+V CTRL+Mで入力しました
0277名無しさん@お腹いっぱい。
2014/11/28(金) 11:58:33.770278名無しさん@お腹いっぱい。
2014/11/28(金) 12:06:54.710279名無しさん@お腹いっぱい。
2014/11/28(金) 17:21:38.550280名無しさん@お腹いっぱい。
2014/11/28(金) 17:30:32.890281名無しさん@お腹いっぱい。
2014/11/28(金) 20:11:01.36はい、Vim上でechoしてます
コマンドモードやVimスクリプトからechoしてます
とりあえずシェルスレらしいので向こうので質問し直させて頂きました
0282名無しさん@お腹いっぱい。
2014/11/28(金) 20:21:04.70回答になってないが、改行付きで出力するなら、
echo printf("1\n2")
でいんやない?
0283名無しさん@お腹いっぱい。
2014/11/28(金) 21:58:33.89どうも :echo での ^M は謎の挙動をするようだ。
:echo "jjjjj^Mkk" を実行した場合、 "kkjjj" が表示される。
つまり、^M の後の文字で ^M の前の文字を上書きして表示されるのだ。
だから :echo "1^M2" の場合、 1 が 2 で上書きされている。
何でこんな挙動になっているのかはよくわからん。
0284名無しさん@お腹いっぱい。
2014/11/28(金) 22:04:53.27(CARRIAGE RETURN 復帰コード: 行頭に戻る。改行を含まない)を
地で行っているかららしい。
ちなみに改行の制御文字は ^J 。
:echo "jjjjj^Jkk" だとちゃんと改行される。
0285名無しさん@お腹いっぱい。
2014/11/28(金) 22:10:43.66キャリッジリターンとラインフィードは別物
0286名無しさん@お腹いっぱい。
2014/11/28(金) 22:32:25.580287名無しさん@お腹いっぱい。
2014/11/28(金) 22:51:50.630288名無しさん@お腹いっぱい。
2014/11/29(土) 00:41:54.03Vim関係ないと断言したのに結局Vimの話だったのが悔しいんだね
わかるよー
0289名無しさん@お腹いっぱい。
2014/11/29(土) 01:48:02.260290名無しさん@お腹いっぱい。
2014/11/29(土) 08:05:45.600291名無しさん@お腹いっぱい。
2014/12/01(月) 07:37:45.09com! -count=0 -nargs=+ TEST :echo <count> <q-args>
暗黙の指定「-count=0」が機能するのは第一引数が数値型以外の場合みたいだ。
もっと単純な例 :1b2
0292名無しさん@お腹いっぱい。
2014/12/06(土) 14:25:55.591文字ずつ入力すれば重なりませんでしたが
0293名無しさん@お腹いっぱい。
2014/12/07(日) 11:14:07.96ターミナルが対応してなければ何やっても無駄
対応してればset ambiwidth=doubleで解決するはず
0294名無しさん@お腹いっぱい。
2014/12/10(水) 09:30:06.850295名無しさん@お腹いっぱい。
2014/12/10(水) 09:45:36.020296名無しさん@お腹いっぱい。
2014/12/10(水) 09:47:19.430297名無しさん@お腹いっぱい。
2014/12/11(木) 18:15:51.740298名無しさん@お腹いっぱい。
2014/12/19(金) 12:02:01.88C:\test\d%i%r>C:\vim\gvim -u NONE -N --remote hello.vim
"%" 混じりのディレクトリから--remote使うとうまくいかないね。
0299名無しさん@お腹いっぱい。
2014/12/19(金) 12:02:49.090300名無しさん@お腹いっぱい。
2014/12/19(金) 16:49:27.54大量の行をヤンクすると途中の行までしか含まれません
どうすればいいですか
■ このスレッドは過去ログ倉庫に格納されています