主にWindows環境でのVimについてのスレッドです。
本家: http://www.vim.org/
Windows版バイナリ配布: http://www.kaoriya.net/
vim-jp: http://vim-jp.org/
VimWiki: http://vimwiki.net/
ctags 日本語対応版: http://hp.vector.co.jp/authors/VA025040/
名無しのVIM使い(スクリプト) http://nanasi.jp
spanish passion Linux(全オプション) http://www15.ocn.ne.jp/~tusr/
ずんWiki http://www.kawaz.jp/pukiwiki/?vim
関連リンク
UNIX板 Vim Part22: http://peace.2ch.net/test/read.cgi/unix/1365071542/
MacVim 再び: http://anago.2ch.net/test/read.cgi/mac/1133534694/
前スレ vim Part 5: http://anago.2ch.net/test/read.cgi/software/1379912425/
探検
vim Part 6©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/01/13(火) 13:05:45.21ID:JwnBl2Yv0
2017/08/03(木) 07:19:41.96ID:6bw6edB+0
2017/08/03(木) 08:18:50.31ID:3PohL9bt0
禿げは今関係ないだろ!
2017/08/03(木) 16:22:38.37ID:c8Tc4iwZ0
高知県四万十市の地名・半家の可能性に賭けろ
570名無しさん@お腹いっぱい。
2017/08/13(日) 12:19:33.93ID:PqGSx6uE0 terminalが使えるVimってどこでダウンロードできますか
2017/08/13(日) 12:39:32.92ID:x0zQvx4E0
git
2017/08/13(日) 13:06:16.43ID:kH8yYg6c0
現時点ではコンパイル時に有効にしないとターミナルは使えない
使いたいなら自分でビルドするしかない
使いたいなら自分でビルドするしかない
2017/08/13(日) 21:35:07.02ID:tWHkVCZb0
めんどくさ
2017/08/22(火) 21:49:47.40ID:YAxqLv5N0
ビジュアルモードでのキーストローク a( による括弧の選択について質問です。
ビジュアルモード時、下記の3行のテキストのそれぞれ行頭にカーソルがある状態で
a( をストロークすると、3行目で行った場合のみ結果が他の場合と違います。
(())
(a())
(\())
1行目と2行目では、どちらも外側の括弧とその内部を選択します。
しかし3行目では、最初の開き括弧から1つ目の閉じ括弧までが選択されます。
バックスラッシュが影響しているように思えるのですが、これは仕様でしょうか。
3行目でも他と同じように外側の括弧を選択するにはどうすれば良いでしょうか。
ちなみに、3行目の行頭にカーソルがある時、その括弧に対応する閉じ括弧、
つまり2つ目の閉じ括弧が一時的にハイライトされます (もちろん1つ目の開き括弧も)。
これは望んだ通りの挙動です。
しかし、そこで % をストロークすると、1つ目の閉じ括弧にジャンプします。
これは a( の挙動と同様です。
またこれらの望まない挙動は丸括弧に限りません。
% でジャンプできるペア全てに当てはまります。
ビジュアルモード時、下記の3行のテキストのそれぞれ行頭にカーソルがある状態で
a( をストロークすると、3行目で行った場合のみ結果が他の場合と違います。
(())
(a())
(\())
1行目と2行目では、どちらも外側の括弧とその内部を選択します。
しかし3行目では、最初の開き括弧から1つ目の閉じ括弧までが選択されます。
バックスラッシュが影響しているように思えるのですが、これは仕様でしょうか。
3行目でも他と同じように外側の括弧を選択するにはどうすれば良いでしょうか。
ちなみに、3行目の行頭にカーソルがある時、その括弧に対応する閉じ括弧、
つまり2つ目の閉じ括弧が一時的にハイライトされます (もちろん1つ目の開き括弧も)。
これは望んだ通りの挙動です。
しかし、そこで % をストロークすると、1つ目の閉じ括弧にジャンプします。
これは a( の挙動と同様です。
またこれらの望まない挙動は丸括弧に限りません。
% でジャンプできるペア全てに当てはまります。
575名無しさん@お腹いっぱい。
2017/08/22(火) 23:10:08.20ID:/8ECgwOr0 >ビジュアルモード時、下記の3行のテキストのそれぞれ行頭にカーソルがある状態で
ビジュアルモードで矩形選択してる状態?
aじゃなくてAを押さないと編集できないよ
ビジュアルモードで矩形選択してる状態?
aじゃなくてAを押さないと編集できないよ
576名無しさん@お腹いっぱい。
2017/08/22(火) 23:17:28.40ID:/8ECgwOr0 つうか仕様かどうかを2ちゃんで聞いてる時点で(ry
githubのメイン垢で聞くのが恥ずかしいなら捨て垢でも取得してgithub.com/vim-jp/issues/issuesで聞いてきなよ
githubのメイン垢で聞くのが恥ずかしいなら捨て垢でも取得してgithub.com/vim-jp/issues/issuesで聞いてきなよ
577名無しさん@お腹いっぱい。
2017/08/22(火) 23:26:13.09ID:/8ECgwOr0 syntaxのほうは再現できないけど%の方は再現したから報告してきてね
ここで書き込んでも誰も作業しないよ
ここで書き込んでも誰も作業しないよ
2017/08/23(水) 00:01:06.06ID:HbPzOOof0
>>575
言い方が悪かったです。
1行目の行頭にカーソルを移してビジュアルモードに入り a( をストロークします。
次に、一旦ビジュアルモードを抜けてから今度は2行目の行頭にカーソルを移し、
もう一度ビジュアルモードに入って a( をストロークします。
3行目でも2行目と同様の事を行います。
この時、3行目で行った結果が1行目や2行目で行った結果と違う、という話です。
言い方が悪かったです。
1行目の行頭にカーソルを移してビジュアルモードに入り a( をストロークします。
次に、一旦ビジュアルモードを抜けてから今度は2行目の行頭にカーソルを移し、
もう一度ビジュアルモードに入って a( をストロークします。
3行目でも2行目と同様の事を行います。
この時、3行目で行った結果が1行目や2行目で行った結果と違う、という話です。
579名無しさん@お腹いっぱい。
2017/08/23(水) 00:07:43.61ID:p+wGVSmH0 >1行目の行頭にカーソルを移してビジュアルモードに入り a( をストロークします。
↑の時点でインサートモードにいるのに
↓ではビジュアルモードに入ってたことになる
>次に、一旦ビジュアルモードを抜けてから今度は2行目の行頭にカーソルを移し、
丁寧に説明してください
と言うかここで説明しても僕は作業はしませんよ
↑の時点でインサートモードにいるのに
↓ではビジュアルモードに入ってたことになる
>次に、一旦ビジュアルモードを抜けてから今度は2行目の行頭にカーソルを移し、
丁寧に説明してください
と言うかここで説明しても僕は作業はしませんよ
580名無しさん@お腹いっぱい。
2017/08/23(水) 00:08:44.04ID:p+wGVSmH0 バグの可能性があるならちゃんとvim-jpで報告してください
英語が出来るならvim_useで質問してもいいでしょう
英語が出来るならvim_useで質問してもいいでしょう
581名無しさん@お腹いっぱい。
2017/08/23(水) 00:18:36.31ID:p+wGVSmH0 ああごめんごめんインサートモードは関係なかったわ
酔ってて眠いし頭が回らないわ
酔ってて眠いし頭が回らないわ
2017/08/23(水) 13:48:52.82ID:Am8whGXo0
>>580
分かりました。
分かりました。
2017/08/24(木) 07:44:55.33ID:ozepJtGY0
カーソル位置はそのままで、指定した行番号の行を削除したいです。
たとえば、5行目にいながら20行目を削除する、などです。
:20d は使えません。
なぜなら、削除と同時にカーソルが移動してしまうからです。
(当然、カーソルより前の行を消した結果カーソル位置が1行上に移動するのはOKです)
プラグインを使わずに、デフォルトの機能だけで可能でしょうか。
たとえば、5行目にいながら20行目を削除する、などです。
:20d は使えません。
なぜなら、削除と同時にカーソルが移動してしまうからです。
(当然、カーソルより前の行を消した結果カーソル位置が1行上に移動するのはOKです)
プラグインを使わずに、デフォルトの機能だけで可能でしょうか。
2017/08/24(木) 08:36:29.25ID:DkQEIMAn0
>>583
そのあとC-oじゃ駄目なの?
そのあとC-oじゃ駄目なの?
2017/08/24(木) 10:38:03.45ID:ozepJtGY0
2017/08/24(木) 14:19:20.19ID:mj+Ngkxe0
>>585
C-oとC-i便利よ。後g;
C-oとC-i便利よ。後g;
587名無しさん@お腹いっぱい。
2017/08/28(月) 06:15:07.03ID:u5OnoTLa0 sudoで起動したときに設定を反映させる方法を教えてください。
2017/08/28(月) 06:45:49.71ID:sySKr/iK0
2017/08/29(火) 20:44:34.25ID:SqsQltVx0
>>587
自ユーザで使ってる .vimrc などを /root にもコピーすれば?
自ユーザで使ってる .vimrc などを /root にもコピーすれば?
2017/09/02(土) 21:09:55.29ID:8bAG7ppU0
書籍 Pro Vim に次のようなコマンドが紹介されていました。
(正確には違いますが、質問の本質に無関係な部分は省略、改変しています)
:let c=0 | g/^/let c=c+1 | s/^/\=c/
各行の頭に1から順に番号を挿入するものです。
これは3つの同格なコマンド let、g、s がパイプで繋がっているのではなく、
1つ目のパイプで let と g が繋がっており、2つ目のパイプで繋がった let と s が、
g が実行する一塊のコマンドを構成している、 という認識でよろしいでしょうか。
(正確には違いますが、質問の本質に無関係な部分は省略、改変しています)
:let c=0 | g/^/let c=c+1 | s/^/\=c/
各行の頭に1から順に番号を挿入するものです。
これは3つの同格なコマンド let、g、s がパイプで繋がっているのではなく、
1つ目のパイプで let と g が繋がっており、2つ目のパイプで繋がった let と s が、
g が実行する一塊のコマンドを構成している、 という認識でよろしいでしょうか。
2017/09/02(土) 21:25:16.10ID:wsrUjl/f0
いや、|を区切りに順番に実行してるだけ
2017/09/02(土) 21:39:42.36ID:wsrUjl/f0
…じゃなかった、二つ目の|は :g のコマンド部に含まれることになる(ので、一行ごとに let c=c+1 | s/^/\=c が実行される)
だから多分おっしゃってる通りです
言いたかったのは、シェルでいうパイプみたいな入出力機能は無いよってこと
だから多分おっしゃってる通りです
言いたかったのは、シェルでいうパイプみたいな入出力機能は無いよってこと
2017/09/02(土) 22:28:24.27ID:8bAG7ppU0
2017/10/03(火) 23:14:16.22ID:QcTyHpdE0
3ボタン式フットペダル買おうと思う
左はESCとして、真ん中と右に何を割り当てようか?
左はESCとして、真ん中と右に何を割り当てようか?
2017/10/03(火) 23:19:07.97ID:+ct86dHB0
クラッチとアクセルだよな
2017/10/03(火) 23:26:04.06ID:f4gHys0x0
そもそもそういうのが必要ないのがvimのいいところじゃね
2017/10/04(水) 00:15:47.10ID:cDl6M1KN0
2017/10/04(水) 00:51:15.43ID:vgPnd8+o0
免停
2017/10/04(水) 20:51:51.94ID:KZawJQeu0
>>594
C-z と fg <CR>
C-z と fg <CR>
2017/10/05(木) 02:39:35.11ID:a7le/tir0
>>594
押しっぱなしOKならCTRL
押しっぱなしOKならCTRL
2017/10/12(木) 22:42:02.80ID:YUZLqc8d0
kaoriya の gvim と cygwin の vim を併用しています
kaoriya の gvim において、コマンドラインモードの部分のテキストを
クリップボードにコピーしたいです。何か方法はあるでしょうか?
ちなみに cygwin の vim では、ターミナルの機能だと思うのですが
マウス選択すればクリップボードにコピーされます
また、右クリックでメニューも出ます
ユースケースとしては、ファイルのフルパスを 1 と Ctrl + G で
コマンドライン部分に表示させた後、その文字列をコピペする操作です
kaoriya の gvim において、コマンドラインモードの部分のテキストを
クリップボードにコピーしたいです。何か方法はあるでしょうか?
ちなみに cygwin の vim では、ターミナルの機能だと思うのですが
マウス選択すればクリップボードにコピーされます
また、右クリックでメニューも出ます
ユースケースとしては、ファイルのフルパスを 1 と Ctrl + G で
コマンドライン部分に表示させた後、その文字列をコピペする操作です
2017/10/12(木) 23:19:03.68ID:iq+JUW1U0
>>601
ファイル名をクリップボード(または単にレジスタ)に入れるだけならこれがよさそう
https://blog.trimark.jp/archives/21
いろんなメッセージに対して使いたいならこっちかな
https://superuser.com/a/171105
ファイル名をクリップボード(または単にレジスタ)に入れるだけならこれがよさそう
https://blog.trimark.jp/archives/21
いろんなメッセージに対して使いたいならこっちかな
https://superuser.com/a/171105
2017/10/13(金) 00:10:56.55ID:ncs7N8va0
>602
回答ありがとうございます
どちらも有益な情報でした
nnoremap ,cp :let @*=expand("%:p")<CR>
こんな感じでマップすると、良い感じで使いまわせそうです
あと、2つ目の方は先頭に改行 ^J が入ってしまうようですね
助かりました
回答ありがとうございます
どちらも有益な情報でした
nnoremap ,cp :let @*=expand("%:p")<CR>
こんな感じでマップすると、良い感じで使いまわせそうです
あと、2つ目の方は先頭に改行 ^J が入ってしまうようですね
助かりました
2017/10/13(金) 22:17:18.33ID:wbV6EcdM0
指定した範囲内の特定の文字列を置換したい。
ただし、置換先の文字列は1から順に増加する数字を含むとする。
例えば下記のものを
abcdef
xyzcwv
ocpqr
hijkclcno
xxcx
2行目から4行目までの c を上から順に、また左から順に [1] [2] [3] [4] に置換すると、
abcdef
xyz[1]wv
o[2]pqr
hijk[3]l[4]no
xxcx
となる。
どうすれば良い?
ただし、置換先の文字列は1から順に増加する数字を含むとする。
例えば下記のものを
abcdef
xyzcwv
ocpqr
hijkclcno
xxcx
2行目から4行目までの c を上から順に、また左から順に [1] [2] [3] [4] に置換すると、
abcdef
xyz[1]wv
o[2]pqr
hijk[3]l[4]no
xxcx
となる。
どうすれば良い?
2017/10/13(金) 22:23:38.98ID:sfqciESl0
「ただし、」はどこにかかってるの?
2017/10/13(金) 23:24:02.57ID:psSxC80I0
>>604
コマンド一発でやる方法は思いつかなかったわ
関数作るならもちろんできる
function! AAA() range
let i = a:firstline
let n = 1
for l in getline(i, a:lastline)
let line = l
while match(line, 'c') + 1
if match(line, 'c')
let line = substitute(line, 'c', printf('[%d]', n), '')
let n += 1
endif
endwhile
cal setline(i, line)
let i += 1
endfor
endfunction
コマンド一発でやる方法は思いつかなかったわ
関数作るならもちろんできる
function! AAA() range
let i = a:firstline
let n = 1
for l in getline(i, a:lastline)
let line = l
while match(line, 'c') + 1
if match(line, 'c')
let line = substitute(line, 'c', printf('[%d]', n), '')
let n += 1
endif
endwhile
cal setline(i, line)
let i += 1
endfor
endfunction
2017/10/14(土) 05:23:42.42ID:iik+6J8W0
:let i=1 | 2,4g/./s/c/\=("[".i."]")/g | let i+=1
上のだと4行目のcは同じ数字にしか置換されない
↓これで
let g:c=0
function! Inc()
let g:c+=1
return g:c
endfunction
:let g:c=0 | 2,4g/^/s/c/\=("[".Inc()."]")/g
:global コマンドを使い慣れてないので2,4g/^/s/cのとこはキレイでないかもしれない
上のだと4行目のcは同じ数字にしか置換されない
↓これで
let g:c=0
function! Inc()
let g:c+=1
return g:c
endfunction
:let g:c=0 | 2,4g/^/s/c/\=("[".Inc()."]")/g
:global コマンドを使い慣れてないので2,4g/^/s/cのとこはキレイでないかもしれない
2017/10/14(土) 21:37:36.91ID:DefQA8cL0
2017/10/14(土) 22:24:49.10ID:Fp7rFVAI0
関数を作ると別ファイルに分けたくなる→プラグイン開発の道へ
2017/10/15(日) 11:40:20.45ID:+vJKpvKe0
連続した2行の中のそれぞれのある列からある列までの文字列を上下入れ替えたいんだけど、
素早くやる方法ってある?
たとえば、こんなの (便宜的に半角空白2文字を倍角空白1文字に置き換えた)
bindsym up command1
bindsym down command2
こんな2行の文字列内の「up 」と「down」を入れ替えたい。
もちろん up の後ろの2つの空白文字も含めて。
こんな感じに。
bindsym down command1
bindsym up command2
プログラミングとかコンフィグファイルとか書いてると時々あって、
今まで普通に消してから書き直すか、片方を一度別の文字列に置換する方法でスワップしてたんだけど、
これが結構疲れるんだ。
長い文字列だと、作業中に何をやろうとしていたのか、どこまでやってたのか忘れることもあるし。
なんか良い方法ない?
キーストロークでやる方法、コマンドを駆使する方法、何でもいいんだけど。
素早くやる方法ってある?
たとえば、こんなの (便宜的に半角空白2文字を倍角空白1文字に置き換えた)
bindsym up command1
bindsym down command2
こんな2行の文字列内の「up 」と「down」を入れ替えたい。
もちろん up の後ろの2つの空白文字も含めて。
こんな感じに。
bindsym down command1
bindsym up command2
プログラミングとかコンフィグファイルとか書いてると時々あって、
今まで普通に消してから書き直すか、片方を一度別の文字列に置換する方法でスワップしてたんだけど、
これが結構疲れるんだ。
長い文字列だと、作業中に何をやろうとしていたのか、どこまでやってたのか忘れることもあるし。
なんか良い方法ない?
キーストロークでやる方法、コマンドを駆使する方法、何でもいいんだけど。
2017/10/15(日) 14:06:22.54ID:ORQlSw2R0
>>610
自分は true/false を入れ替えるのにこれ使ってるわ
sagarrakshe/toggle-bool
自分はこれで足りてるけど、こっちのが高機能で色々カスタマイズできるみたい
AndrewRadev/switch.vim
自分は true/false を入れ替えるのにこれ使ってるわ
sagarrakshe/toggle-bool
自分はこれで足りてるけど、こっちのが高機能で色々カスタマイズできるみたい
AndrewRadev/switch.vim
2017/10/15(日) 21:11:15.02ID:+vJKpvKe0
>>611
ごめん、例が誤解させちゃったみたい。
up と down だったのは特に考えなしに挙げた例で、
実際は何か意味的に対になる単語という訳じゃないんだ。
だから、予め辞書みたいに登録しておけない。
純粋に、2つの行の、同じ列から同じ列までの範囲の文字列を入れ換えたい。
矩形選択した範囲内の一番上の行と一番下の行をスワップする。
これができれば理想的なんだけど。
ごめん、例が誤解させちゃったみたい。
up と down だったのは特に考えなしに挙げた例で、
実際は何か意味的に対になる単語という訳じゃないんだ。
だから、予め辞書みたいに登録しておけない。
純粋に、2つの行の、同じ列から同じ列までの範囲の文字列を入れ換えたい。
矩形選択した範囲内の一番上の行と一番下の行をスワップする。
これができれば理想的なんだけど。
2017/10/15(日) 22:25:14.16ID:hbvh5OYC0
2017/10/16(月) 14:09:16.56ID:NHOddXz50
2017/10/16(月) 15:36:02.02ID:A0Q+iCAA0
>>610
洗練されてないコードだがこんなんとか
function! Sw()
let pat = '\s\+\S\+\s\+'
let l = getline('.')
let m = matchstr(l, pat)
let l2 = getline(line('.') + 1)
let m2 = matchstr(l2, pat)
cal setline(line('.'), substitute(l, pat, m2, ''))
cal setline(line('.') + 1, substitute(l2, pat, m, ''))
endfunction
洗練されてないコードだがこんなんとか
function! Sw()
let pat = '\s\+\S\+\s\+'
let l = getline('.')
let m = matchstr(l, pat)
let l2 = getline(line('.') + 1)
let m2 = matchstr(l2, pat)
cal setline(line('.'), substitute(l, pat, m2, ''))
cal setline(line('.') + 1, substitute(l2, pat, m, ''))
endfunction
2017/10/20(金) 00:35:41.26ID:9Lq922rL0
>>610
矩形選択した2行の同列の文字列同士を交換するならこんなんでどうか
function! s:SwapLine()
let pos1=getpos("'<")
let pos2=getpos("'>")
let l1=pos1[1]
let c_start=pos1[2]
let l2=pos2[1]
let c_end=pos2[2]
let len=c_end - c_start + 1
let text1=strpart(getline(l1),c_start-1,len)
let text2=strpart(getline(l2),c_start-1,len)
let line1=getline(l1)
let line2=getline(l2)
let newline1=strpart(line1,0,c_start-1).text2.strpart(line1,c_end)
let newline2=strpart(line2,0,c_start-1).text1.strpart(line2,c_end)
call setline(l1,newline1)
call setline(l2,newline2)
endfunction
vmap <C-S> :<C-U>call s:SwapLine()<CR>
矩形選択した2行の同列の文字列同士を交換するならこんなんでどうか
function! s:SwapLine()
let pos1=getpos("'<")
let pos2=getpos("'>")
let l1=pos1[1]
let c_start=pos1[2]
let l2=pos2[1]
let c_end=pos2[2]
let len=c_end - c_start + 1
let text1=strpart(getline(l1),c_start-1,len)
let text2=strpart(getline(l2),c_start-1,len)
let line1=getline(l1)
let line2=getline(l2)
let newline1=strpart(line1,0,c_start-1).text2.strpart(line1,c_end)
let newline2=strpart(line2,0,c_start-1).text1.strpart(line2,c_end)
call setline(l1,newline1)
call setline(l2,newline2)
endfunction
vmap <C-S> :<C-U>call s:SwapLine()<CR>
2017/10/20(金) 14:23:23.01ID:B1/d+O3g0
618名無しさん@お腹いっぱい。
2017/10/24(火) 12:52:35.00ID:lJHX4Ddo0 ファイルの最後尾を見たくてvim(gvim)をリードモードで開きたいです。
開いたあとにshift+gや、.vimrcの設定ではなく、起動時のオプションで、リードモード、最後尾を表示、で開くにはどうしたら良いでしょうか?
ソフトの実行ログで、最後尾周辺に見たい情報があります。
開いたあとにshift+gや、.vimrcの設定ではなく、起動時のオプションで、リードモード、最後尾を表示、で開くにはどうしたら良いでしょうか?
ソフトの実行ログで、最後尾周辺に見たい情報があります。
2017/10/24(火) 13:47:10.36ID:OV1KDivO0
2017/10/24(火) 21:40:55.66ID:ve11aTtX0
ノーマルモードで、
viWU
の後に、カーソルを最初に v を入力する時にいた位置に戻したいのたが、
関数やプラグインを使わずキーストロークのみで実現するには
マーク機能を使うしかないかな?
<c-o> を入力したら変なところ飛んじゃった。
viWU はジャンプリストには登録されないみたい。
viWU
の後に、カーソルを最初に v を入力する時にいた位置に戻したいのたが、
関数やプラグインを使わずキーストロークのみで実現するには
マーク機能を使うしかないかな?
<c-o> を入力したら変なところ飛んじゃった。
viWU はジャンプリストには登録されないみたい。
2017/10/25(水) 10:33:41.05ID:QgOEb83f0
2017/10/25(水) 18:19:16.67ID:CrH398Uo0
>620
viWU``
こういうことをしたい感じ?
マーク機能を使っているけど自動でマークされた場所に戻るだけだからセーフということで
viWU``
こういうことをしたい感じ?
マーク機能を使っているけど自動でマークされた場所に戻るだけだからセーフということで
2017/10/25(水) 20:57:59.51ID:w945/33m0
2017/10/25(水) 22:59:13.87ID:CrH398Uo0
あっ、再試験してみたらやっぱり手動でマークしないとダメだった……。なんだろ、無意識にm`しちゃってたのか?
改めて、 m`viWU`` ならたぶん意図通りになるんじゃないかなと。m`はジャンプリストを更新しているので最後の``はC-oでもいけるよ
:h jumplistにも載ってるからたぶん由緒正しい方法
改めて、 m`viWU`` ならたぶん意図通りになるんじゃないかなと。m`はジャンプリストを更新しているので最後の``はC-oでもいけるよ
:h jumplistにも載ってるからたぶん由緒正しい方法
2017/10/26(木) 21:15:31.52ID:p7h8skLL0
2017/10/27(金) 18:07:57.94ID:oDT7BWTj0
日本語ヘルプだと「直前位置マーク」ってなっていて、これはとてもいい名付け方だと思う
/とかggとかGとかでカーソルがどこかへジャンプする時にジャンプ前の位置が自動でマークされる
m`は手動でそのマークを更新しているわけね
maとかして`aと違うのはカーソルジャンプが発生すると自動で上書きされるマークだから、一時的に使うだけなら後腐れがないというのが1点
それとC-oで戻れないって>620にあったので戻れるようにできないか調べた結果というのがもう1点
/とかggとかGとかでカーソルがどこかへジャンプする時にジャンプ前の位置が自動でマークされる
m`は手動でそのマークを更新しているわけね
maとかして`aと違うのはカーソルジャンプが発生すると自動で上書きされるマークだから、一時的に使うだけなら後腐れがないというのが1点
それとC-oで戻れないって>620にあったので戻れるようにできないか調べた結果というのがもう1点
2017/10/27(金) 21:08:26.73ID:FdjtbyQ10
2017/10/29(日) 17:26:34.66ID:2hFicOAz0
>>601
ノーマルモードで2つのキーq: 連続押しするとexコマンド履歴が表示されるので
それ選択してクリップボードへ。
また :dis ってexモードで入力すると "で始まる各レジスタが表示される。
もしかしたら編集中のファイル名などコピペしたいのがあるかもしれない。
ノーマルモードで2つのキーq: 連続押しするとexコマンド履歴が表示されるので
それ選択してクリップボードへ。
また :dis ってexモードで入力すると "で始まる各レジスタが表示される。
もしかしたら編集中のファイル名などコピペしたいのがあるかもしれない。
2017/11/08(水) 12:12:30.72ID:HwsBEVk+0
cygwin の vim と kaoriya の gvim を併用しています
nerdtree において、259 文字以上のパスの場合、
cygwin の vim はそのファイルが表示されます
kaoriya の gvim はそのファイルが表示されません
後者の nerdtree において max_path を超えるパスを扱える方法はあるでしょうか
プラグインと設定ファイルはどちらも同じものを読み込んでます
kaoriya 付属の設定が原因かもですが、特定方法が分かりません
nerdtree において、259 文字以上のパスの場合、
cygwin の vim はそのファイルが表示されます
kaoriya の gvim はそのファイルが表示されません
後者の nerdtree において max_path を超えるパスを扱える方法はあるでしょうか
プラグインと設定ファイルはどちらも同じものを読み込んでます
kaoriya 付属の設定が原因かもですが、特定方法が分かりません
630629
2017/11/13(月) 13:11:31.88ID:t6b6lZth0 netrw も同じ症状でした
kaoriya は内部でwin32 api の制限を受けてるってことなんでしょうかね
kaoriya は内部でwin32 api の制限を受けてるってことなんでしょうかね
2017/11/13(月) 18:11:05.12ID:er883CbH0
2017/11/13(月) 19:48:42.85ID:AN9eRedf0
cygwin もネイティブのWindowsアプリなのでWindowsの制限を受けるのは同じ
2017/11/13(月) 20:38:21.25ID:er883CbH0
>>632
うーんじゃあファイル名の長さ制限は別の要因によるのかなあ
まあ自分もかつて両方使って環境変数の競合によるトラブルに悩まされた経験があるので
そもそもCygwinのVimとKaoriyaのVimは併用すべきでないと思う
うーんじゃあファイル名の長さ制限は別の要因によるのかなあ
まあ自分もかつて両方使って環境変数の競合によるトラブルに悩まされた経験があるので
そもそもCygwinのVimとKaoriyaのVimは併用すべきでないと思う
2017/11/19(日) 13:35:29.94ID:TVXilEkx0
Win32 APIは特別な対策をしなければMAX_PATH文字までしか使えない。
Cygwinはその特別な対策をしているが、Win32版は何もしていない。
Cygwinはその特別な対策をしているが、Win32版は何もしていない。
2017/11/29(水) 01:43:35.26ID:l4+9B2Hi0
GVimってなんでダメなの?
2017/11/29(水) 11:16:58.03ID:x0JDSmbC0
誰がダメだと言ってたの?
2017/11/29(水) 13:53:19.92ID:Cn9Z4Eq+0
VIP板のプログラミングスレの人達が言ってた
2017/11/29(水) 13:59:35.80ID:N7yajO2K0
GVIPならよかったんじゃね?
2017/11/30(木) 09:04:35.33ID:3PPJ82c80
linuxなら使わんけど
windowsなら普通に使う
windowsなら普通に使う
2017/11/30(木) 09:40:33.28ID:6UwNqrtQ0
Gvimがダメなんじゃなくて
Gvimがダメとか言ってる人たちがダメなんでしょ
弘法筆を選ばず
Windowsのメモ帳だってコードは書ける
Gvimがダメとか言ってる人たちがダメなんでしょ
弘法筆を選ばず
Windowsのメモ帳だってコードは書ける
2017/11/30(木) 15:14:08.43ID:Kr867vK00
まあcatよりはマシかもね
2017/11/30(木) 17:23:03.64ID:27CcoRuh0
挿入モードでカーソルを行末に持って行くのに、C-o $でやっているのですが他に方法って有りましたっけ。
2017/11/30(木) 17:35:50.97ID:3PPJ82c80
End
2017/12/01(金) 08:01:01.83ID:OKrtfkyp0
思考を放棄して ESC A してる
2017/12/01(金) 13:20:44.67ID:POVz5gxT0
>>643
それって入力中の文字列の最後に行くだけじゃないっけ
それって入力中の文字列の最後に行くだけじゃないっけ
646名無しさん@お腹いっぱい。
2017/12/01(金) 13:40:07.04ID:Md8z6RvL0 C-eを<End>にcnoremapしてる
647642
2017/12/01(金) 14:17:12.52ID:Ua777U600 様々なご意見ありがとうございます。
MacbookなのでEndがないのと、ホームポジションからなるべくキーを離したくないのです。
今まではESC AまたはC-[ Aだったのですが、最近ようやくC-o $を知りました。
どのみち2ストロークだよなあ、と思って質問してみました。
vimrc弄ってマッピングするのは盲点でした。検討してみます。
MacbookなのでEndがないのと、ホームポジションからなるべくキーを離したくないのです。
今まではESC AまたはC-[ Aだったのですが、最近ようやくC-o $を知りました。
どのみち2ストロークだよなあ、と思って質問してみました。
vimrc弄ってマッピングするのは盲点でした。検討してみます。
2017/12/01(金) 20:09:15.11ID:yk3phPpD0
2017/12/01(金) 22:13:17.49ID:e8YCngbo0
>>647
Fn+rightキーでend
Fn+rightキーでend
2017/12/02(土) 06:25:06.47ID:W/e2T6nM0
未だにAltってマップ出来ないの?
2017/12/02(土) 18:04:49.08ID:YOi+asrS0
フットペダルの出番ですね!?
2017/12/03(日) 10:23:47.82ID:aaXDgAD90
vim を使用しているとき矢印キーを不能にしたくて、
試しに :noremap! <Up> <Nop> としましたが、
インサートモードでおかしな挙動をします。
1つ上の行に1文字 A が挿入されます。
不可解です、これはどう言うことでしょうか?
コマンドラインモードでは問題なく意図通りになっています。
ちなみに、:noremap! <Del> <Nop> もインサートモードでの挙動が変です。
こちらはカーソルのすぐ左の1文字の大小が入れ替わり、
かつノーマルモードへ戻ってしまいます。
:noremap! <BS> <Nop> はインサートモードでも意図通りになりました。
試しに :noremap! <Up> <Nop> としましたが、
インサートモードでおかしな挙動をします。
1つ上の行に1文字 A が挿入されます。
不可解です、これはどう言うことでしょうか?
コマンドラインモードでは問題なく意図通りになっています。
ちなみに、:noremap! <Del> <Nop> もインサートモードでの挙動が変です。
こちらはカーソルのすぐ左の1文字の大小が入れ替わり、
かつノーマルモードへ戻ってしまいます。
:noremap! <BS> <Nop> はインサートモードでも意図通りになりました。
2017/12/03(日) 10:28:33.55ID:aaXDgAD90
2017/12/03(日) 12:15:11.52ID:aaXDgAD90
>>655
ごめんなさい、嘘をついていました。
まだ解決されていません。
矢印キーや Delete キーなどの挙動の仕組みは理解できました(つもり)。
そこで、set nocompatible を .vimrc に既述しましたが、症状は変わりません。
そもそも .vimrc が存在する時点で、デフォルトで nocompatible on のはずです。
仮想端末の方が悪いのかと、数種類試してみましたが、どの場合も同じ症状です。
vim のコンパイルオプションが関係しているのかと、vim --version で確認しましたが、
vi互換性やキーコードに関係していそうなオプションは見あたりませんでした。
もともと、矢印キーなどへ伸びる手を矯正しようと Nop に設定したので、
意図しない挙動であっても実質的には問題ないのですが、
やはり理由、原因は気になります。
vi互換性を切っても出るこの症状は何が原因なのでしょうか。
ごめんなさい、嘘をついていました。
まだ解決されていません。
矢印キーや Delete キーなどの挙動の仕組みは理解できました(つもり)。
そこで、set nocompatible を .vimrc に既述しましたが、症状は変わりません。
そもそも .vimrc が存在する時点で、デフォルトで nocompatible on のはずです。
仮想端末の方が悪いのかと、数種類試してみましたが、どの場合も同じ症状です。
vim のコンパイルオプションが関係しているのかと、vim --version で確認しましたが、
vi互換性やキーコードに関係していそうなオプションは見あたりませんでした。
もともと、矢印キーなどへ伸びる手を矯正しようと Nop に設定したので、
意図しない挙動であっても実質的には問題ないのですが、
やはり理由、原因は気になります。
vi互換性を切っても出るこの症状は何が原因なのでしょうか。
657629
2017/12/04(月) 23:05:49.96ID:kqi5W/Ks0 話がそれますが
Git for Windows も 260 を超えるパスは扱えませんでした
cygwin の git は扱えました
Git for Windows も 260 を超えるパスは扱えませんでした
cygwin の git は扱えました
2017/12/05(火) 20:30:18.38ID:CrEtjTSR0
新しいNightly入れたがDirectWrite爆速やん
Windows10になって以来GDIではフレーム落ちが鬱陶しかったが
DWではそれが無い分、快適に感じるわ
Windows10になって以来GDIではフレーム落ちが鬱陶しかったが
DWではそれが無い分、快適に感じるわ
2017/12/07(木) 07:09:54.28ID:ZA7Y63230
2つのウィンドウへ開いていて、どちらにも行番号が表示されている状態です。
このとき、片方のウィンドウで :setlocal nonumber とすると、
そのウィンドウの行番号だけが非表示になります。
しかし、:setlocal ninumber ではなく :set nonumber としても
そのウィンドウの行番号だけが非表示になります。
number だけでなく、他のものでも同様です。
例えば wrap でも :set と :setlocal が同じ結果になります。
:set と :setlocal の違いは何でしょうか?
このとき、片方のウィンドウで :setlocal nonumber とすると、
そのウィンドウの行番号だけが非表示になります。
しかし、:setlocal ninumber ではなく :set nonumber としても
そのウィンドウの行番号だけが非表示になります。
number だけでなく、他のものでも同様です。
例えば wrap でも :set と :setlocal が同じ結果になります。
:set と :setlocal の違いは何でしょうか?
2017/12/07(木) 07:25:04.93ID:yNUrvwIy0
その後 :new すると、、
:h local-options
:h local-options
2017/12/08(金) 04:26:24.13ID:BM6nYy010
Laguage server protocol との連携は進んでいますか?
2017/12/08(金) 07:14:52.21ID:ef/e0eR+0
>>660
ありがとうございます。
要するに、:set がすぐさま反映させるのはカレントに対してだけなのですね。
だからぱっと見では :setlocal との違いが分からなかった。
しかし両者の違いは新しくウィンドウやバッファを作った時に現れる。
なぜなら、それらは先ずはグローバルオプションで初期化されるから。
おかげさまで理解できました。
ありがとうございます。
要するに、:set がすぐさま反映させるのはカレントに対してだけなのですね。
だからぱっと見では :setlocal との違いが分からなかった。
しかし両者の違いは新しくウィンドウやバッファを作った時に現れる。
なぜなら、それらは先ずはグローバルオプションで初期化されるから。
おかげさまで理解できました。
2017/12/11(月) 12:13:19.39ID:VvrireRi0
windows10でgvimにdein.vimを導入してプラグインの管理をしようと考えています。
readmeと個人ブログの記事を参考にgithubのリポジトリからcloneし、_gvimrcにもあれこれ書きました。
call dein#install() を実行し、インストールが完了しました。
この時点で各プラグインの機能が使用できるようになりました。
しかし一度gvimを再起動するとそれらが使えなくなっていました。
あれこれ試した結果、call dein#update()を実行すれば使用できるようになることがわかりました。
試しにgvimrcにcall dein#update()を記述し、起動時にアップデートをかけるようにしてみましたが、思った通りにはなりませんでした。
起動直後からプラグインを使用できる状態にすることはできないものでしょうか?
できるなら、どうしたら良いでしょうか
readmeと個人ブログの記事を参考にgithubのリポジトリからcloneし、_gvimrcにもあれこれ書きました。
call dein#install() を実行し、インストールが完了しました。
この時点で各プラグインの機能が使用できるようになりました。
しかし一度gvimを再起動するとそれらが使えなくなっていました。
あれこれ試した結果、call dein#update()を実行すれば使用できるようになることがわかりました。
試しにgvimrcにcall dein#update()を記述し、起動時にアップデートをかけるようにしてみましたが、思った通りにはなりませんでした。
起動直後からプラグインを使用できる状態にすることはできないものでしょうか?
できるなら、どうしたら良いでしょうか
2017/12/13(水) 07:28:34.81ID:M3CDaS1D0
自己解決できました。
失礼しました。
失礼しました。
2017/12/14(木) 00:26:09.78ID:z825bZ+o0
>>665
なんでここにわざわざ書くと良い技術者になれるのでしょうか?
なんでここにわざわざ書くと良い技術者になれるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- <櫻坂46松田里奈>ランジェリーカット公開 照れながらTシャツ脱ぐ [ひかり★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- お前らって議論できないよな
- 一般人「起きなきゃ…」 俺ら「寝ようかなzzz」
- 寝る時ちょうどいいYouTubeなんかない?
- 高橋洋一、終わる [523957489]
- 🏡ダブパン本仕込み~🍞🍞😅🍞🍞🏡
