質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

3回答

2254閲覧

Windows と Linux で 「.vimrc」・「~/.vim/」を同期

tf23yh8df3

総合スコア60

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

1クリップ

投稿2015/09/09 03:12

現在,主にメインで Windows 8.1 を利用しています.

Git for Windows を利用し, bashvim を利用しています.

また, .vimrc を分割し,

".vimrc set runtimepath+=~/.vim/ runtime! init/*.vim runtime! plugins/*.vim

上記のように指定しています.

initplugins ディレクトリ内は,キーマップの設定・表示の設定・プラグインのっ設定を各々記述した.vimを置いています.

ここで, Windows で作成した .vimrc~/vim/*.vimは ファイルフォーマットが dos のため,Linux の所定のディレクトリに置いたままでは, vim を起動すると

未知のオプションです。: ^M

や他にも様々なエラーが発生し,読み込むことが出来ませんでした.

そこで,すべてのファイルに対して

:set fileformat=unix

とすることで解決することが出来ました.

しかし,これでは非効率だと思い,何か別の方法があれば教えて頂きたく,投稿しました.

よろしくお願いします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

dos2unix, unix2dos, nkf といったコマンドで改行コードの変換が可能です。

参考情報:

投稿2015/09/09 12:02

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tf23yh8df3

2015/09/09 22:00 編集

katoy さん, 情報提供,ありがとうございます. yum で利用するツールなんですね.
guest

0

ディレクトリ内の全ファイルを変換したければ、

bash

1sed -i 's/\r//' *

ファイルの更新タイムスタンプを保存したければ、スクリプトになりますが、

bash

1for x in * 2do sed -i.bak 's/\r//' $x 3 touch -r $x.bak $x 4 rm $x.bak 5done

なお、Linux⇒Windowsだと、sの所を's/$/\r/'です。

投稿2015/09/09 11:40

otn

総合スコア84529

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tf23yh8df3

2015/09/09 22:06

otn さん, 華麗なシェル芸とシェルスクリプト,ありがとうございます. 「ファイルの更新スタンプを保存」という文言を正しく理解できないのですが, 上記のシェル芸を用いた場合は,ファイルの作成日時が変更されず,最初に作成した日時のまま固定で,何らかの操作で作成日時を更新したい場合はシェルスクリプトを利用する. ということでしょうか.
otn

2015/09/10 01:39

ファイルを更新するので、一番目の方法だと、ファイルの更新日時が「今」になります。 二番目の方法だと、更新した後で、元のファイルの更新日時を参照して、更新後のファイルの更新日時を設定しなおします。つまり、ls -l で更新日時を見ると更新されてないように見えます。 > 作成日時 Linuxの場合は、ファイルの作成日時を知るのは不可能ですよ。
tf23yh8df3

2015/09/10 04:48

otn さん, 理解できました. ありがとうございます.
guest

0

ベストアンサー

trコマンドで出来ます。
参考までに・・・改行コードの変換(Windows→Linux)

投稿2015/09/09 03:19

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tf23yh8df3

2015/09/09 03:30

cateye さん, ありがとうございます. これでわざわざ一つ一つ vim でファイルを立ち上げてファイルフォーマットを変更せずに済みそうです. `tr -d '\r' <入力ファイルパス> 出力ファイルパス` の「入力ファイルパス」をディレクトリに指定してディレクトリ内のすべてのファイルに対して適用できれば幸せですね・・・(笑)
cateye

2015/09/09 23:11

もしLinuxとWindowsが別々のPCで動いているなら、ftpのASCII(text)モードでファイルを転送すれば改行はLiinux用に変換されますよd^^ FFFTPならオプション→転送1に転送モードの設定があります。
tf23yh8df3

2015/09/10 04:50

cateye さん, 「ASCIIモードでファイル転送した場合は自動的に変換される」という点は魅力的ですね. 現状は,git から clone してる状態なので,調べてみます. ありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問