facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2015/01/13(火) 13:05:45.21
主に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/

ここまで見た
  • 625
  •  
  • 2017/10/26(木) 21:15:31.52
>>624
意図通りになった。

が、ヘルプを読んでも previous context mark の意味がよく分からん。
普通のマーク (m[a-z] m[A-Z]) とは違うの?

ここまで見た
  • 626
  •  
  • 2017/10/27(金) 18:07:57.94
日本語ヘルプだと「直前位置マーク」ってなっていて、これはとてもいい名付け方だと思う
/とかggとかGとかでカーソルがどこかへジャンプする時にジャンプ前の位置が自動でマークされる
m`は手動でそのマークを更新しているわけね

maとかして`aと違うのはカーソルジャンプが発生すると自動で上書きされるマークだから、一時的に使うだけなら後腐れがないというのが1点
それとC-oで戻れないって>620にあったので戻れるようにできないか調べた結果というのがもう1点

ここまで見た
  • 627
  •  
  • 2017/10/27(金) 21:08:26.73
>>626
なるほど、そういう機能なのか。
(日本語もちゃんと意味を理解して訳してるんだね)

理解できたよ。
ありがと。

ここまで見た
  • 628
  •  
  • 2017/10/29(日) 17:26:34.66
>>601
ノーマルモードで2つのキーq: 連続押しするとexコマンド履歴が表示されるので
それ選択してクリップボードへ。
また :dis ってexモードで入力すると "で始まる各レジスタが表示される。
もしかしたら編集中のファイル名などコピペしたいのがあるかもしれない。

ここまで見た
  • 629
  •  
  • 2017/11/08(水) 12:12:30.72
cygwin の vim と kaoriya の gvim を併用しています
nerdtree において、259 文字以上のパスの場合、
cygwin の vim はそのファイルが表示されます
kaoriya の gvim はそのファイルが表示されません

後者の nerdtree において max_path を超えるパスを扱える方法はあるでしょうか

プラグインと設定ファイルはどちらも同じものを読み込んでます
kaoriya 付属の設定が原因かもですが、特定方法が分かりません

ここまで見た
  • 630
  • 629
  • 2017/11/13(月) 13:11:31.88
netrw も同じ症状でした
kaoriya は内部でwin32 api の制限を受けてるってことなんでしょうかね

ここまで見た
  • 631
  •  
  • 2017/11/13(月) 18:11:05.12
>>630
Kaoriya版はVisualC++でコンパイルしたネイティブのWindowsアプリなので
Windowsの制限をモロに受けると思う

ここまで見た
  • 632
  •  
  • 2017/11/13(月) 19:48:42.85
cygwin もネイティブのWindowsアプリなのでWindowsの制限を受けるのは同じ

ここまで見た
  • 633
  •  
  • 2017/11/13(月) 20:38:21.25
>>632
うーんじゃあファイル名の長さ制限は別の要因によるのかなあ
まあ自分もかつて両方使って環境変数の競合によるトラブルに悩まされた経験があるので
そもそもCygwinのVimとKaoriyaのVimは併用すべきでないと思う

ここまで見た
  • 634
  •  
  • 2017/11/19(日) 13:35:29.94
Win32 APIは特別な対策をしなければMAX_PATH文字までしか使えない。
Cygwinはその特別な対策をしているが、Win32版は何もしていない。

ここまで見た
  • 635
  •  
  • 2017/11/29(水) 01:43:35.26
GVimってなんでダメなの?

ここまで見た
  • 636
  •  
  • 2017/11/29(水) 11:16:58.03
誰がダメだと言ってたの?

ここまで見た
  • 637
  •  
  • 2017/11/29(水) 13:53:19.92
VIP板のプログラミングスレの人達が言ってた

ここまで見た
  • 638
  •  
  • 2017/11/29(水) 13:59:35.80
GVIPならよかったんじゃね?

ここまで見た
  • 639
  •  
  • 2017/11/30(木) 09:04:35.33
linuxなら使わんけど
windowsなら普通に使う

ここまで見た
  • 640
  •  
  • 2017/11/30(木) 09:40:33.28
Gvimがダメなんじゃなくて
Gvimがダメとか言ってる人たちがダメなんでしょ
弘法筆を選ばず
Windowsのメモ帳だってコードは書ける

ここまで見た
  • 641
  •  
  • 2017/11/30(木) 15:14:08.43
まあcatよりはマシかもね

ここまで見た
  • 642
  •  
  • 2017/11/30(木) 17:23:03.64
挿入モードでカーソルを行末に持って行くのに、C-o $でやっているのですが他に方法って有りましたっけ。

ここまで見た
  • 643
  •  
  • 2017/11/30(木) 17:35:50.97
End

ここまで見た
  • 644
  •  
  • 2017/12/01(金) 08:01:01.83
思考を放棄して ESC A してる

ここまで見た
  • 645
  •  
  • 2017/12/01(金) 13:20:44.67
>>643
それって入力中の文字列の最後に行くだけじゃないっけ

ここまで見た
  • 646
  •  
  • 2017/12/01(金) 13:40:07.04
C-eを<End>にcnoremapしてる

ここまで見た
  • 647
  • 642
  • 2017/12/01(金) 14:17:12.52
様々なご意見ありがとうございます。

MacbookなのでEndがないのと、ホームポジションからなるべくキーを離したくないのです。
今まではESC AまたはC-[ Aだったのですが、最近ようやくC-o $を知りました。
どのみち2ストロークだよなあ、と思って質問してみました。
vimrc弄ってマッピングするのは盲点でした。検討してみます。

ここまで見た
  • 648
  •  
  • 2017/12/01(金) 20:09:15.11
>>645
嘘でした。ちゃんと行末に飛びます
ごめんなさい

ここまで見た
  • 649
  •  
  • 2017/12/01(金) 22:13:17.49
>>647
Fn+rightキーでend

ここまで見た
  • 650
  •  
  • 2017/12/02(土) 06:25:06.47
未だにAltってマップ出来ないの?

ここまで見た
  • 651
  • 642
  • 2017/12/02(土) 15:25:27.28
>>649
ホームポジションから離れるので遠慮しておきます。ありがとうございます。

ここまで見た
  • 652
  •  
  • 2017/12/02(土) 18:04:49.08
フットペダルの出番ですね!?

ここまで見た
  • 653
  • 642
  • 2017/12/03(日) 01:34:39.27
>>652
バランスチェアで仕事しているため、足が床に着かないのでそれは無理です。

ここまで見た
  • 654
  •  
  • 2017/12/03(日) 10:23:47.82
vim を使用しているとき矢印キーを不能にしたくて、
試しに :noremap! <Up> <Nop> としましたが、
インサートモードでおかしな挙動をします。
1つ上の行に1文字 A が挿入されます。

不可解です、これはどう言うことでしょうか?

コマンドラインモードでは問題なく意図通りになっています。

ちなみに、:noremap! <Del> <Nop> もインサートモードでの挙動が変です。
こちらはカーソルのすぐ左の1文字の大小が入れ替わり、
かつノーマルモードへ戻ってしまいます。

:noremap! <BS> <Nop> はインサートモードでも意図通りになりました。

ここまで見た
  • 655
  •  
  • 2017/12/03(日) 10:28:33.55
>>654
ごめんなさい。
あせって質問する前に落ち着いてしっかりリサーチすべきでした。

互換モードが絡んでいたのですね。

解決しました。

ここまで見た
  • 656
  •  
  • 2017/12/03(日) 12:15:11.52
>>655
ごめんなさい、嘘をついていました。
まだ解決されていません。

矢印キーや Delete キーなどの挙動の仕組みは理解できました(つもり)。

そこで、set nocompatible を .vimrc に既述しましたが、症状は変わりません。
そもそも .vimrc が存在する時点で、デフォルトで nocompatible on のはずです。

仮想端末の方が悪いのかと、数種類試してみましたが、どの場合も同じ症状です。

vim のコンパイルオプションが関係しているのかと、vim --version で確認しましたが、
vi互換性やキーコードに関係していそうなオプションは見あたりませんでした。

もともと、矢印キーなどへ伸びる手を矯正しようと Nop に設定したので、
意図しない挙動であっても実質的には問題ないのですが、
やはり理由、原因は気になります。

vi互換性を切っても出るこの症状は何が原因なのでしょうか。

ここまで見た
  • 657
  • 629
  • 2017/12/04(月) 23:05:49.96
話がそれますが
Git for Windows も 260 を超えるパスは扱えませんでした
cygwin の git は扱えました

ここまで見た
  • 658
  •  
  • 2017/12/05(火) 20:30:18.38
新しいNightly入れたがDirectWrite爆速やん
Windows10になって以来GDIではフレーム落ちが鬱陶しかったが
DWではそれが無い分、快適に感じるわ

ここまで見た
  • 659
  •  
  • 2017/12/07(木) 07:09:54.28
2つのウィンドウへ開いていて、どちらにも行番号が表示されている状態です。

このとき、片方のウィンドウで :setlocal nonumber とすると、
そのウィンドウの行番号だけが非表示になります。

しかし、:setlocal ninumber ではなく :set nonumber としても
そのウィンドウの行番号だけが非表示になります。

number だけでなく、他のものでも同様です。
例えば wrap でも :set と :setlocal が同じ結果になります。

:set と :setlocal の違いは何でしょうか?

ここまで見た
  • 660
  •  
  • 2017/12/07(木) 07:25:04.93
その後 :new すると、、
:h local-options

ここまで見た
  • 661
  •  
  • 2017/12/08(金) 04:26:24.13
Laguage server protocol との連携は進んでいますか?

ここまで見た
  • 662
  •  
  • 2017/12/08(金) 07:14:52.21
>>660
ありがとうございます。

要するに、:set がすぐさま反映させるのはカレントに対してだけなのですね。
だからぱっと見では :setlocal との違いが分からなかった。
しかし両者の違いは新しくウィンドウやバッファを作った時に現れる。
なぜなら、それらは先ずはグローバルオプションで初期化されるから。

おかげさまで理解できました。

ここまで見た
  • 663
  •  
  • 2017/12/11(月) 12:13:19.39
windows10でgvimにdein.vimを導入してプラグインの管理をしようと考えています。
readmeと個人ブログの記事を参考にgithubのリポジトリからcloneし、_gvimrcにもあれこれ書きました。
call dein#install() を実行し、インストールが完了しました。
この時点で各プラグインの機能が使用できるようになりました。
しかし一度gvimを再起動するとそれらが使えなくなっていました。
あれこれ試した結果、call dein#update()を実行すれば使用できるようになることがわかりました。
試しにgvimrcにcall dein#update()を記述し、起動時にアップデートをかけるようにしてみましたが、思った通りにはなりませんでした。

起動直後からプラグインを使用できる状態にすることはできないものでしょうか?
できるなら、どうしたら良いでしょうか

ここまで見た
  • 664
  •  
  • 2017/12/13(水) 07:28:34.81
自己解決できました。
失礼しました。

ここまで見た
  • 665
  • 642
  • 2017/12/13(水) 22:16:49.36
>>664
どうやって自己解決したのか書いておくと、良い技術者になれるよ

ここまで見た
  • 666
  •  
  • 2017/12/14(木) 00:26:09.78
>>665
なんでここにわざわざ書くと良い技術者になれるのでしょうか?

ここまで見た
  • 667
  •  
  • 2017/12/14(木) 07:56:59.46
>>666
これをよめ
http://www.geocities.co.jp/SiliconValley/5656/

ここまで見た
  • 668
  •  
  • 2017/12/17(日) 09:57:19.09
Laguage server protocol との連携は進んでいないのですか?

ここまで見た
  • 669
  •  
  • 2017/12/17(日) 20:03:29.13
>>664
死ねゴミクズ

ここまで見た
  • 670
  •  
  • 2017/12/27(水) 20:19:06.27
「:view ファイルパス」とすればリードオンリーモードでそのファイルを開きますが、
バッファの内容を編集することはできます。

これをバッファの内容すら編集できなくする方法はありますか?
つまり閲覧やヤンクへのコピーなど、非破壊の操作しかできないようにしたいです。

ここまで見た
  • 671
  •  
  • 2017/12/27(水) 21:26:56.05
:h -M

ここまで見た
  • 672
  •  
  • 2017/12/28(木) 07:09:25.60
>>671
-M のヘルプを見ることで、modifireble オプションを off にすれば良いことが分かりました。
試したら、意図通りの状態になりました。

ありがとうございました。

ここまで見た
  • 673
  •  
  • 2018/01/03(水) 20:31:44.35
:behave mswin
とすると結構普通のエディタのように使えるね

Windows10 vim 8.0 gVimで試した限りだが、
ノーマルモード、インサートモード問わず、Shift+矢印キーで文字列選択や
Ctrl+Ins、Shift+Insでコビー貼り付けができる

ただし、Ctrl+C、Shift+Vはできなかった
貼り付けもインサートモードで何も選択していない状態だと問題ないが
何か選択した状態だと思わぬ所に貼り付けされてしまう
ノーマルモードだと何も選択していなくても同様の事象

でも使えそうだ

ここまで見た
  • 674
  •  
  • 2018/01/04(木) 02:56:37.99
>>673
VimがVimのキーアサインでない時点で使えないと思うのだが

ここまで見た
  • 675
  •  
  • 2018/01/04(木) 10:44:41.45
>>673
Creamは?Vim使う意味なくなるけどね。

ここまで見た
  • 676
  •  
  • 2018/01/05(金) 02:10:38.38
source $VIMRUNTIME/mswin.vim
も入れたら、Ctrl+C, Ctrl+Vも使えたよ。貼り付けも問題なかった
これなら使いやすいし、ノーマルモードもあるからVimらしさもあるね
gVim Easyはインサートモードしかないようだが

Creamはノーマルモードも使えるみたいだね
でもノーマルだと選択の開始はShit+矢印キーではなくなるのかな
ちょっと試してみよう

お絵かきランド
フリック回転寿司
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email