2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

Vim Part31

1 :名無しさん@お腹いっぱい。:2022/10/06(木) 00:05:02.30 .net
Vim 6以降に関する話題です。
http://www.vim.org/

前スレ
Vim Part30
https://mevius.5ch.net/test/read.cgi/unix/1608261530/

関連情報は>>2-3あたり

11 :名無しさん@お腹いっぱい。:2022/10/07(金) 03:29:09.67 .net
ノーエラーでvim起動してるが、これで さっきの長大な設定はきちんと適用されてるのかっ?

Vim ヘルプの日本語翻訳者用の日本語編集設定を我がものとしたぞ!

さっきダウンが1秒で終わったのはびっくりしたあ、翔平のスイングより速かったのは間違いねえ

もうこの時間しんどいので、ちゃんといけてるか調べないし、なんかえろえろ出来るみたいだけど、単純な gq のだけできたらええ。

馬鹿野郎!!貴様ら。ぜんぜん教えんど、ひとをあらし扱いしやがって!なにもんじゃ?俺は粛々と、このスレで学んでいくぞ。

12 :名無しさん@お腹いっぱい。:2022/10/07(金) 03:35:38.51 .net
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 58 83129 58 48282 0 0 74624 0 0:00:01 --:--:-- 0:00:01 100 83129 100 83129 0 0 124k 0 --:--:-- --:--:-- --:--:-- 124k

13 :名無しさん@お腹いっぱい。:2022/10/08(土) 13:37:13.31 .net
:nmap <Cc>
マッピングは見つかりませんでした

14 :名無しさん@お腹いっぱい。:[ここ壊れてます] .net
>>1002
> 文章にノイズが多過ぎる
> 誰も他人の文章を読むのに時間を割きたくないとの前提に立ち
> 必要十分な情報のみが記された簡潔な文章を心掛けるべし

いま読みました。すいません🙇留意します

前スレで 
> 自分は教科書体の等幅で縦横比7:4くらいにして普通にテキストエディタとして使用しているな

教えてくれた方ありがとうございました。中国語フォントほか、あらゆるフォントを試した結果

かんぜんなる等幅である、この UD Digi Kyokasho N-R がいかに貴重なフォントであるかわかりました。

vimはもちろん専ブラも そのほかいっさいのコンピュータ上のフォントをこれで統一しました。

一点だけわからないのは、文中の「縦横比7:4くらいにして」の箇所です。

15 :名無しさん@お腹いっぱい。:2022/10/10(月) 06:09:54.33 .net
肥溜めになっとるがな

16 :名無しさん@お腹いっぱい。:2022/10/18(火) 09:46:43.92 .net
'formatexpr' 'fex' 文字列 (既定では "")

|gq| や自動整形 ('formatoptions' 参照) で行の範囲を整形する
ために評価される式。このオプションが空だと 'formatprg' が使われる。


例: >
:set formatexpr=mylang#Format()
< これは 'runtimepath' 内にある autoload/mylang.vim 中の関数
mylang#Format() を呼ぶ。|autoload|

また、'textwidth' がオンになっていて、テキストを追加しているときにその
値を超えたときにもこの式が評価される。これは内部整形が使われるときと同
じ条件で起こる。

この関数が非ゼロを返すと Vim 内部の文章整形処理が使われる。

17 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:02:03.06 .net
set formatexpr=autofmt#japanese#formatexpr()
set formatoptions+=mB " または mM
-------------------------------------------------

'formatoptions' 'fo' 文字列 (Vimの既定値: "tcq", Viの既定値: "vt")
バッファについてローカル
自動整形の実行方法を決めるフラグの列である。|fo-table| を参照。オプショ
ン 'paste' がオンのときは、('formatoptions' が空のときのように) 整形は
行われない。読みやすくするために、フラグの間にコンマを挟んでもよい。
将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
と "-=" を使うこと |add-option-flags|。
NOTE: このオプションは 'compatible' がオンになるとViの既定値に設定され、
'compatible' がオフになるとVimの既定値に設定されるので注意。

18 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:10:33.04 .net
'textwidth' 'tw' 数値 (既定では 0)
バッファについてローカル
入力されているテキストの最大幅。行がそれより長くなると、この幅を超えな
いように空白の後で改行される。

'formatexpr' が設定されている場合、その値を使って改行される。

19 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:18:40.27 .net
" autofmt_allow_over_tw 数値 (デフォルト: 0)
"
" 文字が 'textwidth' を越えることを許可する (前に改行があることを禁止する)。
" 与えられた幅のみ。
"
"
" autofmt_allow_over_tw_char 文字列 (デフォルト: 下記参照)
"
" 文字、前に改行することを禁止する。 この変数は
" autofmt_allow_over_tw と共に使用されます。
"

スクリプトのエンコーディング utf-8

20 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:24:11.90 .net
" JIS X 4051(日本語文書の書式規則)
" 4.3 改行禁止文字の前での処理
" これらの文字は、行頭に配置することはできません。 それは
" は、'textwidth' を越えてぶら下げるか、前の文字と一緒に次の行にコミットさせる必要があります。
" 前の文字と一緒に次の行にコミットしなければなりません。

\ . ",)]}、〕〉》」』】=f”»"
\ . "ヽヾーァィゥェォッャュョヮヵヶゝゞぁぃぅぇぉっゃゅょゃゎ々"
\ . "‐"
\ . "?!"
\ . "・:;"
\ . "。."

21 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:35:45.66 .net
以上機械翻訳多用。

なんで一部の日本人しか使用しない日本語禁則処理のVimプラグインのgitのcommitやREADMEがぜんぶ
英語なのか?

これを衒学的という。

開発者さんたち、リナックスに携わるすべての人たちへ考えてほしい。

英語と日本語を双語対照してのせれば問題ないのに、あえてこういうことをするのは、僕には劣等感のかたまりにしか見えない。

僕らは開発者さん頼りだ。自分ではできない。あなた達はじゅうぶん賢いのに、なんでこんなバカみたいな振る舞いをするのか?

22 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:40:53.35 .net
君みたいなのが使わないようにだよ。
Microsoft Word を使っておきなさい。

23 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:44:36.25 .net
サクラエディタとか秀丸じやなくて?

24 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:56:06.27 .net
>英語と日本語を双語対照してのせる
というより、母国語で心を込めて説明を考え、しかるのち機械翻訳等で英訳なりを併記すればよい。

白人礼賛の欧米コンプレックスがすごく、自分の得意なコンピューティングをもって貢献し、日本やアジアをして世界の中心たらしめんとする気概はゼロである。

かくのごとき体たらくの若い世代が今後の日本を背負っていくならば、我が国の未来は推して知るべしであろう。

ウブントゥjpチームの機械翻訳ライセンス問題の淵源も、ここにあると考えている。

25 :名無しさん@お腹いっぱい。:2022/10/18(火) 10:57:34.71 .net
>>23
この数週間の間に格段にレベルアップしたかんな!!オメーラなんかすぐ追い越せるww

26 :名無しさん@お腹いっぱい。:2022/10/18(火) 11:04:08.66 .net
>>23
> 君みたいなのが使わないようにだよ。

それがカッコいいことだと思っているのかっ? いまから20年前のマイクロソフト「アクセシビリティテクノロジー」には次のように書いてある。

「すべての身体障害者すべての知的障害者にも使用可能のウインドウズを目指す」(趣意)

UNIXユーザーの志の低さとくらべてどうだ?

27 :名無しさん@お腹いっぱい。:2022/10/18(火) 11:23:40.18 .net
触っちゃいけない人?

28 :名無しさん@お腹いっぱい。:2022/10/18(火) 12:42:54.70 .net
行番号つけて、こんどはそのまま行番号消したいです
set の反対、unsetみたいのはないのか?よろしくです(o^∀^o)
----------------------------------------------------------
*:nu* *:number*
:[range]nu[mber] [count] [flags]
:print と同じですが、先頭に行番号を付加します。
(オプション 'highlight' と 'numberwidth' も参照)

*'numberwidth'* *'nuw'*
'numberwidth' 'nuw' 数値 (Vim の既定値: 4 Vi の既定値: 8)
ウィンドウについてローカル
{|+linebreak| 機能付きでコンパイルされたときのみ利用可
能}
行番号を表示するのに使われる桁数の最小値。'number' か 'relativenumber'
がオンのときか行番号付きで印刷するときのみ意味がある。常に番号とテキス
トの間にスペースが1つ置かれるので、番号そのものに割かれる桁数はこれよ
り1文字少なくなる。
この値は最小の幅である。

29 :名無しさん@お腹いっぱい。:2022/10/18(火) 12:48:49.08 .net
すいません30秒でネット検索で出てきました

:set nonum
【行番号の非表示】

はじめてネットしたときからまず お前ら人力検索エンジン使用のクセがついてまして

30 :名無しさん@お腹いっぱい。:2022/10/18(火) 14:51:36.66 .net
>>29
> お前ら人力検索エンジン使用のクセがついてまして
酷過ぎだろ
PCの向こうにいるのは人間だよ
一方的な書き込みになるのは
考え方がおかしいからだよ
おかしな考え方だから双方向のコミュニケーションが出来ない

31 :名無しさん@お腹いっぱい。:2022/10/18(火) 15:03:00.06 .net
彼はこちらを怒らせる為に書いているので、マトモな質問以外、無視するのが吉です。反応してはいけません。

32 :名無しさん@お腹いっぱい。:2022/10/18(火) 18:59:25.96 .net
>>31
> 酷過ぎだろ
> PCの向こうにいるのは人間だよ
> 一方的な書き込みになるのは
> 考え方がおかしいからだよ
> おかしな考え方だから双方向のコミュニケーションが出来ない

すいませんでしたm(_ _)m 2ちゃんのノリなので、悪気ありませんでした。

>>32
> 彼はこちらを怒らせる為に書いているので
誓ってそんなことが目的ではありません。

>>29
> 行番号つけて、こんどはそのまま行番号消したいです
> set の反対、unsetみたいのはないのか?よろしくです(o^∀^o)

この質問を書いたときは、ほんとうにわからなくて、何週間も放置していたのです。
というのは、自分の頭の中にあるのは
「【行番号の非表示】はできないのかな?」という疑問じゃないですか?
だからいっしょうけんめい

:h 行番号
とかやっちゃうんですよっ? set も num も調べたんですよ!
nonum なんか出てくるわけない

:set nonum
【行番号の非表示】

33 :名無しさん@お腹いっぱい。:2022/10/18(火) 19:04:46.68 .net
変なこと書くのは

僕が6年前にはじめてネッツはじめたときから 取り付いてるキチガイが
ミントスレ、ウブントゥスレ等のリナックス板におりまして

そのキチガイが「おい、F9」とかわけわからんこと言いながら、どの板にもついてくるんですよね。

そんで、荒らし扱いされて煽られて嫌な思いすんのが怖くて、そんでこんなしゃべりかたになりました(T_T)
-----------------------
僕の目的は、自分のやりたいことを達成するべく、必要なスキルを早く習得したい
--------------------
ということだけです。

34 :名無しさん@お腹いっぱい。:2022/10/18(火) 19:42:05.20 .net
>>33
関係のない人に迷惑をかけておいて都合の良い言い訳とか酷いと思う
悪気なくそういうノリで書いているなら異常だよ
異常さを自覚してvimの習得よりも人とのコミュニケーションの取り方を学んだ方がいいと思う

35 :名無しさん@お腹いっぱい。:2022/10/18(火) 20:01:40.84 .net
荒らしに反応するのも荒らしって習わなかったのかな

36 :名無しさん@お腹いっぱい。:[ここ壊れてます] .net
やっぱり肥溜めやがな

37 :名無しさん@お腹いっぱい。:2022/10/20(木) 08:44:31.51 .net
quitする人を意味するquitterは、「(仕事や義務などを最後まで努力せずに)放棄する人」という意味らしい

英内相が辞任 トラス政権、存続の危機:AFPBB News
https://www.afpbb.com/articles/-/3429790
2022年10月20日 5:57
トラス氏は19日、同計画の撤回後初となる議会での答弁で、議員のやじを浴びながらも
「私はファイター(闘士)であり、クイッター(すぐあきらめる人)ではない」と述べ、辞任を否定した。(c)AFP

38 :名無しさん@お腹いっぱい。:2022/10/20(木) 12:49:57.72 .net
心に不具合がある人が居着いちゃったのかぁ ?

39 :名無しさん@お腹いっぱい。:2022/10/20(木) 22:07:59.59 .net
トラス氏、quitしてしまった模様

40 :名無しさん@お腹いっぱい。:2022/10/27(木) 02:56:16.53 .net
r;

41 :名無しさん@お腹いっぱい。:2022/11/07(月) 18:24:36.98 .net
uキーで、だいたいちゃんと戻るんだけど、なんかuでも戻らない時がある。
どういう時に戻らないのかがわからない。俺が何をした時に戻らないんだろう?

42 :名無しさん@お腹いっぱい。:2022/11/12(土) 18:04:50.07 .net
以下の元のテキストがあって、|#B4FFEB|(色情報)が不要なので消したいです。

--------------------------------------------------
|#B4FFEB|書誌情報の「公開範囲」が「インターネット公開(保護期間満了)」※1である

|#FFCAD7|インターネットで見られる資料の公開範囲欄に「保護期間満了」「許諾」「裁定」とあるのはなんですか。


|#D1FF61|許諾
著作権者の方からインターネット公開をしてもよいとご許諾いただいた資料に表示します。

|#FFCAD7|保護期間満了
著作権の保護期間が満了していることが確認できた資料


|#FFCAD7|読みやすく整形して配布

|#D1FF61|本は、zip 形式でまとめられた、Jpeg 画像ファイルです。展開すれば、普通の画像として閲覧できますが、ミルノ PC フォトフレーム などの画像ビューアーを使うと、zip 形式のまま中身を閲覧できます。

|#FFDE70|1 日のダウンロード量に制限があるため、一度に全資料をダウンロードせず、必要に応じて、1 巻ごとダウンロードしていただけると助かります。

|#FFCAD7|原資料のサイズは、5612 x 3808

|#D1FF61|1080 x 1669 に縮小

43 :名無しさん@お腹いっぱい。:2022/11/12(土) 18:07:04.59 .net
:%s/|#FFCAD7|//g

で、一つずつは消せましたが、一括でぜんぶ消したいのです。

44 :名無しさん@お腹いっぱい。:2022/11/12(土) 19:12:03.39 .net
sed 使えば?

45 :名無しさん@お腹いっぱい。:2022/11/12(土) 22:47:49.69 .net
>>43
正規表現でできる
https://vim-jp.org/vimdoc-ja/pattern.html#pattern-overview

46 :名無しさん@お腹いっぱい。:2022/11/13(日) 01:10:34.08 .net
>>46
もうしわけない、以下まで学んだ時点で、理解不能になりあきらめ。
===================================================================
03.9 簡単なパターン検索

Vimでは、検索に正規表現(regular expressions)を使います。正規表現という
のは検索パターンを指定するための、極めてパワフルでシンプルな方法です。
残念ながら、これの実力を発揮させるには少々苦労していただくことになりま
す。

行頭と行末 ----------

"^" は行頭を示します。英語(ASCII)キーボードでは 6 のキーに、日本語(JIS)
キーボードでは 0 のキーの 2 つ右側に刻印してあります。

<-- ^^^^^ 確認

例えば、"include" というパターンは 行のどこかに include という単語を含
んでいれば、ヒットします。一方、"^include" は行頭にある include にだけ
マッチします。

<--ああそういえば、これ使ったことあんな。

$ apt search -n ^mate | grep インストール mate-control-center/stable,now
1.24.1-1 amd64 [インストール済み、自動]
mate-control-center-common/stable,stable,now 1.24.1-1 all [インストール済み、自動]

"$" は同様に行末にヒットします。ですから、パターン "was$" は、行末が was
で終わっている場合だけヒットします。

<--使用した記憶ない

47 :名無しさん@お腹いっぱい。:2022/11/13(日) 01:38:04.75 .net
>>44
> sed 使えば?
ありがとう。使用したことないので、
tps://www.sejuku.net/blog/54595
で学習中

$ sed s/orange/ORANGE/ sample.txt
appleORANGEmelon

$
「sed」コマンドはあくまで文字列を置換して出力するのみで、実際のファイルの内容の書き換えは行いませんので注意しましょう。もし、置換した内容をテキストに保存したい場合はリダイレクト「>」を使用しましょう。

$ sed s/orange/ORANGE/ sample.txt > sample.txt

--> できてない、ぜんぜんちがうんだろう。
>置換した内容をテキストに保存したい場合はリダイレクト「>」を使用しましょう。
この日本語文だけで使用したことないコマンドを類推するのむり

リダイレクトで調べないと

48 :名無しさん@お腹いっぱい。:2022/11/13(日) 01:56:31.84 .net
$ sed s/orange/ORANGE/ sample.txt
appleORANGEmelon

>はじめに紹介した書式では、1つの行に複数の置換対象文字列に一致した文字列が存在した場合でも、最初に一致した文字列のみしか置換されません。

>そこで全ての一致した文字列を置換

元のファイルを複数の置換対象文字列 存在するように書き換え
appleorangemelonapple

$ sed -e s/apple/APPLE/g sample.txt
APPLEorangemelonAPPLE

49 :名無しさん@お腹いっぱい。:2022/11/13(日) 02:54:20.20 .net
sコマンドを使うと、vim内でsedと同じことができる。

:s/|#B4FFEB|//

50 :名無しさん@お腹いっぱい。:2022/11/13(日) 03:08:50.19 .net
:s/before/after/g
現在カーソルがある行の全てのbeforeをafterに置換

:s/|#FFCAD7|//g

:%s/before/after/g
現在開いているファイルに出てくる全てのbeforeをafterに置換 <==けっきょく使うのこればっか

---------------------
ありがとうございましたア〜〜〜
正規表現は理解できませんでしたが、

既知のスキル、以下のターミナルのemacs風操作と組み合わせて、所期の目的を素早く処理できるようになりましたっ
44さん、45さん感謝(o^∀^o)
-----------------------------------
ctrl+←→ で一単語前後へ移動

文字列操作系
ctrl + w
直前の一単語を削除します。
ctrl + u
(カーソルより前)の文字列を全て削除します。結構よく使います。
ctrl + k
カーソルより後ろの文字列を全て削除します。

51 :名無しさん@お腹いっぱい。:2022/11/13(日) 03:14:05.29 .net
前に荒らしてたのに

ぜんぜん気にせんど、真剣な質問したらちゃんと答えてくれる...

ユニックス板vimスレは最高に素敵なスレです。こんなスレは他にありません

52 :名無しさん@お腹いっぱい。:2022/11/13(日) 16:17:25.32 .net
set -o vi は?

53 :名無しさん@お腹いっぱい。:2022/11/13(日) 16:48:02.64 .net
>>43
一括削除は以下でできますよ
:%s/|.\+|//g

16進数で有ることを特定するなら
:%s/|#\x\+|//g

54 :名無しさん@お腹いっぱい。:2022/11/13(日) 21:53:01.75 .net
>>51
荒らしたって認識してんのに態度を改めるわけでもなく
またここに書き込むのかよ
いい加減にしてくれ

slackのvim-jpにお前専用の隔離チャンネル作ってもらえよ

55 :名無しさん@お腹いっぱい。:2022/11/15(火) 00:39:50.83 .net
>>53
> 一括削除は以下でできますよ
> :%s/|.\+|//g

す...すごすぎます。自分のやりたいことを正規表現で表現?できるようになれるか わかんないけど、まずは
これだけでも理解していきます...これで膨大なテキストを処理できます!

> 16進数で有ることを特定するなら
> :%s/|#\x\+|//g

こんかいは 16進数で有ることを特定しなくても望みどおりになっているので。
=======================================
引き方は:help :help参照、めちゃくちゃ大事
環境についても環境名で引けば大体環境毎のセットアップについても触れられてる事も覚えておいてね

ヘルプは日本語版も非常に活発に更新されてて(既にvim9)、むしろ翻訳を介すだけ原文の分かりにくい部分に脚注が付いてて分かりやすいまである
=================================
これを機に前スレを見直したが...ほとんど忘れてる上に...むずかしい! よくまあこんな難しいのについていったなと...

>>52
> set -o vi
とは何か不明で調査中

56 :名無しさん@お腹いっぱい。:2022/11/15(火) 00:43:10.19 .net
> 一括削除は以下でできますよ
> :%s/|.\+|//g
-------------------
こんなの独学でやったら1ヶ月はかかる。なぜならば、正規表現のページをググって片っ端から読んだが まったく理解できないからだ

あなたは俺に1ヶ月分の時間をくれた。一ヶ月のいのちをくれたんだっ!!

57 :名無しさん@お腹いっぱい。:2022/11/15(火) 10:53:25.08 .net
>>55
これ以上ここに書き込まない方がいいですよ
お怒りの方が何人もいらっしゃるので

slackにいらしてください
皆さんとても親切ですよ
https://vim-jp.org/docs/chat.html

https://vim-jp.slack.com/

58 :名無しさん@お腹いっぱい。:2022/12/14(水) 10:30:06.84 .net
vscodeのvimで
変換予測候補などもJKで上下選択したいんですがさすがに無理ですかね?

59 :名無しさん@お腹いっぱい。:2022/12/14(水) 13:15:39.12 .net
VSCodeVimはVimと関係ないからVSCodeスレかVSCode拡張スレで聞くべき

60 :名無しさん@お腹いっぱい。:2022/12/18(日) 15:56:58.46 .net
>>58
Ctrl+n,Ctrl+pのことではなくて?それならデフォルト機能だけど

61 :名無しさん@お腹いっぱい。:2022/12/18(日) 20:54:57.07 .net
>>60
あああああそれです!ありがとうございます!これの時だけ矢印キーで移動してたので助かりました!

62 :名無しさん@お腹いっぱい。:2022/12/28(水) 00:58:27.94 .net
スレ間違ってたらごめんなさい…

fcitx5とvim8で協調モードできないですか?
neovimなら方法があるんです

63 :名無しさん@お腹いっぱい。:2022/12/28(水) 10:16:35.90 .net
>>62
申し訳ないこれでバッチリでした

https://github.com/lilydjwg/fcitx.vim

64 :名無しさん@お腹いっぱい。:2022/12/29(木) 20:26:04.02 .net
テキストファイルを間違えて削除してしまいました。
Vimで編集していたファイルなのでUndoファイルは残っているのですが、
: rundo ファイル名
をやっても
「ファイルの内容が変わっているため、アンドゥ情報を利用できません」
と表示されてしまいます。これはもうダメなのでしょうか?

65 :名無しさん@お腹いっぱい。:2022/12/30(金) 11:53:09.46 .net
>>64
.vimrc内をbackupdirで検索
そのフォルダが有ればファイルが残っている可能性もある
なければあきらめる

66 :名無しさん@お腹いっぱい。:2023/01/02(月) 01:00:27.87 .net
>>62
> fcitx5
はどこがfcitxよりよいのでしょうか?

わからないので、またfcitxで困ることがなにもないので消しました...

67 :名無しさん@お腹いっぱい。:2023/01/02(月) 12:32:51.96 .net
wayland 対応の有無くらいだよ

68 :名無しさん@お腹いっぱい。:2023/01/02(月) 13:02:22.01 .net
主にvim-gtk3だからFCITX_NO_PREEDIT_APPSを設定しなくてもそのまま使えるからとスキンおおいね

69 :名無しさん@お腹いっぱい。:2023/01/09(月) 23:53:56.64 .net
>>47
> 「sed」コマンドはあくまで文字列を置換して出力するのみで、実際のファイルの内容の書き換えは行いませんので注意しましょう。もし、置換した内容をテキストに保存したい場合はリダイレクト「>」を使用しましょう。

perl -i -p -e

70 :名無しさん@お腹いっぱい。:2023/01/10(火) 03:39:45.65 .net
perlとsedの-iオプションは内部的に>>47やってるだけのin-placeもどきだろ
事故りたくないなら素直にedかex -s(vi/vim)使えよ、vimスレなんだし

71 :名無しさん@お腹いっぱい。:2023/01/10(火) 04:13:29.77 .net
exの正体がvimとは限らない環境なら
ex -sc '%s/regex/replacement/g | wq'

exの正体がvimでも、明示的にvimを呼んだ方が良い
vim [opts] -c '%s/regex/replacement/g' -c 'wq'
無ければcommand not foundになる
exだと他のvi系エディタがvim固有のコマンド(vimscriptや各モードのキーバインド)を変に解釈しかねないので、ex呼びより安全

オレオレな.vimrc/.exrcを読んでもいいし、人に配るシェルスクリプトなら[no]compatible指定、.*rc/プラグインを読まないで高速化&環境依存排除
全てコマンドラインオプションで選べるから、ちゃんと--helpと:help読め

72 :名無しさん@お腹いっぱい。:2023/01/10(火) 05:25:39.22 .net
vimの本領はシェルからのワンライナーだよな
:normalモードのコマンドとマクロ、レジスタ使えばperlなんかより断然短い
:norm 5jwqdaw2jqq@wggp

73 :質問です:2023/01/10(火) 07:59:42.46 .net
このスレでのF9って何ですか?

https://www.google.com/search?q=mint%20f9%20linux%20%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%20%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88

https://www.google.com/search?q=ubuntu%20f9%20linux%20%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%20%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88

とか見ても良く分からず。。
※最近のノートPCのファンクションキーの割当てがウザいので日本語入力ではCtrl-I / Ctrl-O / Ctrl-P多用中
※※個人の感想でふ

74 :質問です:2023/01/10(火) 08:04:07.66 .net
>>71
UNIX以外の環境で、正体がelvis / nvi / vim / neovim以外の環境って、どんなものがありますか

75 :名無しさん@お腹いっぱい。:2023/01/10(火) 12:17:20.62 .net
わりとどうでもいい話

76 :名無しさん@お腹いっぱい。:2023/01/10(火) 12:35:48.00 .net
vimの方言で挙動が変わるリスクを負うくらいなら素直にsed / perl使え

77 :名無しさん@お腹いっぱい。:2023/01/10(火) 13:11:25.17 .net
別にRubyでもPythonでもいいnだぜ

78 :名無しさん@お腹いっぱい。:2023/01/10(火) 15:32:16.40 .net
UI立ち上げずにバッチ処理に使える高機能エディタって他にemacsくらいしかなくね?vim禁止だと一気に面倒くさくなる
ストリーム処理で済むならストリームエディタでいいけど

79 :名無しさん@お腹いっぱい。:2023/01/10(火) 15:56:52.31 .net
>>78がどういう状況を具体的に想定しているか分からない
むしろトラブってるときはvimが無い方が普通のような

80 :名無しさん@お腹いっぱい。:2023/01/10(火) 16:03:00.19 .net
>>79
トラブルとか知らん、普通にテキスト処理の自動化
テキストオブジェクトを認識するだけで、perlみたいに難解な正規表現で対応する引用符や括弧探すとかアホらしい事やらんで済むだろ

81 :名無しさん@お腹いっぱい。:2023/01/10(火) 16:41:41.30 .net
スクレイピングか
そういうのはyi(で一発なvimの独断場だな
ネストしてるとregexではかなり面倒

82 :名無しさん@お腹いっぱい。:2023/01/11(水) 15:28:08.69 .net
vimscriptが腐ってるしシェルスクリプトから呼べるのは有り難い
--clean等でシンタックスやプラグイン読まなければ100msで起動するからワンショットには十分使える

83 :名無しさん@お腹いっぱい。:2023/01/11(水) 15:52:03.42 .net
大量のファイルを処理するならxargsで渡して:argdoだな
プロセス起動がファイル数/引数上限で済む

84 :名無しさん@お腹いっぱい。:2023/01/11(水) 16:19:23.42 .net
>>72
> 5jwqdaw2jqq@wggp
これって何ですか
意味が解読できない。。

85 :名無しさん@お腹いっぱい。:2023/01/11(水) 16:43:27.98 .net
>>84
全部基本コマンドだと思うが…

一応
5行下って1単語進み、単語をカットして2行下る操作をqに記録し即再生、(無意味に)一単語進んでバッファの初めに戻りカットした単語を貼り付け

qのマクロを活用してない(ループが完結してない)コード片だから、適当じゃね

86 :名無しさん@お腹いっぱい。:2023/01/11(水) 17:06:22.96 .net
ごめん違う、本来に無意味
qdでdに記録始めてd使ってないし、次のq@wでまた謎のwを引用しようとしてるけど、q@がレジスタ名として多分不正だから無意味、最後のpはqのタイポ?

やっぱマクロは闇だわ

87 :名無しさん@お腹いっぱい。:2023/01/11(水) 17:14:16.49 .net
面白いー

88 :名無しさん@お腹いっぱい。:2023/01/11(水) 17:52:26.58 .net
マクロの直打ちは辞めた方が…
実際にUI開いてqで記録、:regで中身を見て手直しするもの
:helpにある再帰やループマクロのテンプレだけを知ってればよくて、あとはそこへそれを突っ込むだけだ

89 :名無しさん@お腹いっぱい。:2023/01/16(月) 13:52:18.20 .net
neovim 0.6.1です。
一つ目のターミナルでファイルをviewで開き、
もう一つのターミナルで同じファイルを編集可で開いて編集した後に
一つ目にカーソルを戻すと2つ目のターミナルで編集した情報が自動で反映されるのをオフにしたいです。

set noautoread
を入れたのですが、
W11 ファイルは編集開始後に変更されました
というワーニングが出てくるようになりました。
このワーニングを出ないようにするにはどうすれば良いですか?

90 :名無しさん@お腹いっぱい。:2023/01/17(火) 00:51:05.37 .net
FileChangedShellで何かすれば消えるっぽいから
autocmd! FileChangedShell * echo “”
とか

91 :名無しさん@お腹いっぱい。:2023/01/18(水) 16:20:36.62 .net
>>88,89
無条件で黙らせると知らぬ間にswapファイルが溜まりそうな予感が

viewとして呼んだならv:prognameやv:argvに'view…'みたいなのが入ってるはずだから
:if v:argv[0] =~ 'view\s'

:if v:errmsg =~ "^E11"
のようなアドホックなチェックがまず思い浮かぶ
行儀良くしたいならviewモードを示すフラグくらい存在するはずだし、1プロセスで複数のモードを使い回すならバッファローカル版(b:~)の方がベター

>>82
普段から対話的にvimを使ってるなら学習コスト0というシームレスさがいいね

シームレスさを追求した代償にvimscriptはexコマンドの拡張という"スクリプト言語として"は悍ましいモノが産まれたが
一方でexコマンドの拡張として見ると自然だったりする
:ifなど制御構造が閉じなくても良かったり、|で区切れたり奇妙に見える部分はシェルやsystem関数からコマンドとして呼びやすく、という配慮
-c ':g/pat/ :if 80 <= line("$") | :trimit'

:if, :while, :for, :letなど基本制御コマンドと、:silent, :redirなどi/o制御、自動で設定される変数類v:...だけ借りて、他は:normal/:executeで手に馴染んだ事だけをやる
normal/ex以外は修飾/特殊文字を引数へ埋め込むのが気持ち悪いが、少し欲しい時にはエスケープ構文(<Esc>、<C-Left>等)が重宝

vimscriptでプラグインなんて書き始めた奴らが諸悪の根源

92 :名無しさん@お腹いっぱい。:2023/01/18(水) 16:55:48.51 .net
>>47,70
(単純な)制御構造が必要か?が使い分けの目安

一応:t label(直近のs///で置換が行われればgoto)や:b label(goto)を駆使すれば:ifや:whileをエミュレートは可能だが
気が狂わんのか

そもそも-iオプション付きのsedはストリーム処理である意味が無いから、ストリームの無駄使いでしかない論理的に誤った使い方
ポータビリティ云々を気にするなら、最低でもマルチライン処理とバッファリングをサポートしてるedを使え
sedより高機能だし、patchコマンドもネイティブ入力フォーマットとして自動認識する(外部edを呼ぶか独自エミュレート)

93 :名無しさん@お腹いっぱい。:2023/01/18(水) 17:32:56.66 .net
機能というより、ストリーム処理とバッチ処理の区別がついてないんじゃないの
holdバッファを駆使して高度な処理をやればやるだけ、行毎に再スキャンを繰り返すストリームエディタはCPUとメモリを急激に食い潰す

一度メモリに収めて終わりで済まないサイズならsplitで分けてマルチプロセッサを活用
小さくてもいいから一時ファイル専用のSSDが用意できればベスト
ハードウェアを活用しろ

94 :名無しさん@お腹いっぱい。:2023/01/18(水) 19:23:59.16 .net
>>89
>>91
view --servername #[デフォルト名view1]のようにエイリアス定義しておくとうっかり.swp増殖防止に役立つ

viewは役割上シンタックスを沢山読む/カスタムしていると編集用vimの設定と衝突しそう
個人的には分けた方が良いと思う

体感一秒足らずだけどラグいのが一つと
明示的な--servername NAME指定無しの --remote* excmd/key/fileは自身のargv[0]を見てNAME1..を探すこと
vimとして起動してviewモードに切り替えて使っているとプロセス名はvim1のようになる
デフォルト機能で済む処理だから手の空いてる汎用vimという意図で無指定のコマンドを送ると、先のvim1(viewモード)プロセスに誤爆する
たぶん

95 :名無しさん@お腹いっぱい。:2023/01/18(水) 19:35:33.04 .net
サーバとして稼働できるようになって起動ラグ無し、履歴やレジスタも勝手に同期してくれて便利になった
一方で状態共有に特有の罠もある

デフォルトのサーバ名はプレーンなvimとして呼ばれる想定で予約しておくべきか

96 :名無しさん@お腹いっぱい。:2023/01/18(水) 21:28:47.30 .net
>>91
オプションreadonly, roはバッファローカル
(変数参照式として&ro)

97 :名無しさん@お腹いっぱい。:2023/01/18(水) 23:03:49.19 .net
>>90
対話モードでキープレスやechoでエコーエリアを上塗りクリアは禍根を残しそう
:messや:redir先のファイルへ謎の改行が混入したり、デバッグレベル依存で止まったり

とりあえず:silent!で黙殺するか、
:try | :call MyFileChangedShell | :catch /E11:/ | :set noro | :endtry
こんな雰囲気で行けない?MyFileChangedShellやcatchの中は適当
遷移自体は済んでいるのか、フック用に~Pre/Post版があるか、など発動条件依存なのでヘルプ参照

98 :名無しさん@お腹いっぱい。:2023/01/18(水) 23:15:45.01 .net
いつまで偽物の Vim の話してんだよ

99 :名無しさん@お腹いっぱい。:2023/01/19(木) 17:36:27.39 .net
>>97
最初の質問とヘルプを読めよ

100 :89:2023/01/25(水) 09:35:32.56 .net
>>89です。レス遅くなりすみません。
皆さんご意見ありがとうございます。
どれも一長一短ありそうでなかなか根が深いですね。。

ひとまずいくつか試してみます。

101 :名無しさん@お腹いっぱい。:2023/01/30(月) 19:29:32.78 .net
ヴィムでマークダウンのプレビューとアウトライナー(ヘッダーの)ってありますかね?

102 :名無しさん@お腹いっぱい。:2023/01/30(月) 19:32:14.71 .net
emacsでもいいです
vscodeはテキストエディタ感がないので

103 :名無しさん@お腹いっぱい。:2023/01/30(月) 22:16:36.96 .net
よくねーよ

104 :名無しさん@お腹いっぱい。:2023/01/30(月) 23:10:09.21 .net
>>101
プレビューはあるね

105 :名無しさん@お腹いっぱい。:2023/01/31(火) 05:19:14.22 .net
>>104
マークダウン向きではないエディタなんでしょうか

106 :名無しさん@お腹いっぱい。:2023/01/31(火) 08:48:12.90 .net
pluginはあるからグクって
基本、基本

107 :名無しさん@お腹いっぱい。:2023/01/31(火) 08:56:51.22 .net
はい(´・ω・`)
かなり難しそうで

108 :名無しさん@お腹いっぱい。:2023/01/31(火) 08:56:55.30 .net
Quiver、Bear、Inkdropみたいな操作性はVimのPluginでも無理
お金払ってそっちをつかえばいい

109 :名無しさん@お腹いっぱい。:2023/01/31(火) 10:51:09.21 .net
>>105
プラグイン入れると一般的なブラウザでリアルタイムビューできる
良くできてると思う
エディタはVimでVSCodeをMarkdownビューアにする手もあるかも
VSCodeのMarkdownビューアも良くできてると思う
VSCodeは嫌いで使ってないけど

110 :名無しさん@お腹いっぱい。:2023/01/31(火) 11:15:33.44 .net
>>109
マルチプラットフォームのやつ探してるんですよ
でもvscode開くのは気が重い、、、

111 :名無しさん@お腹いっぱい。:2023/01/31(火) 11:17:56.28 .net
ブラウザわざわさ嫌なので、glow使ってるよ

103 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200