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

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

ただいまの
回答率

90.98%

  • Linux

    3205questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    2360questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • MacOS(OSX)

    1644questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Vim

    447questions

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

  • Visual Studio Code

    182questions

    Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

ホストのvi設定を仮想環境下(CentOS7)でも反映させる方法

受付中

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 215

roronoazoro

score 61

ホストOS(MacOS)に設定してある.vimrcファイルを仮想環境下のCentOS7に反映させたいのですが、やり方がわかりません。
一応centos7側にはデフォルトでviはインストールされているので、PATHなどをいじれば設定できると思うのですが、やり方がいまいちわかりません。
ホストとゲスト側でどこからしらの共通項を見つけだしてシンボリックリンクを設定するのでしょうか?
下記は$PATHの参考です。
初歩的な部分で恐縮ですが、いつも仮想環境下エディタ問題で詰まるので教えていただけると助かります。
よろしくお願いします。

#--ゲスト側
[vagrant@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin

#--ホスト側
~:master$echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/vscode

10月5日追記
今回の目的としてwordpressの学習で、仮想環境を少しかじったのでどうせならばcentos7でやってみようと思い、そこでより効率的にエディタ等の設定をというのが今回の目的です。
下記にvagrnatfileを記載しました。
マウント位置は/var/www/wordpressにしました。
.vimrcの設定を共通ディレクトリを見いだし、そこへexportするかリンクで反映させる二つのやり方があるという解釈で大丈夫でしょうか?

合ってるとしましたら、今回の場合のように、wordpressディレクトリでマウントしたい、でもviもホストのものを使いたいといった場合はどうすればいいでしょうか?
検討違いでしたらすみません。

#--Vagrantfile

  1 # -*- mode: ruby -*-↲                                                                                                       
  2 # vi: set ft=ruby :↲
  3 ↲
  4 # All Vagrant configuration is done below. The "2" in Vagrant.configure↲
  5 # configures the configuration version (we support older styles for↲
  6 # backwards compatibility). Please don't change it unless you know what↲
  7 # you're doing.↲
  8 Vagrant.configure("2") do |config|↲
  9   # The most common configuration options are documented and commented below.↲
 10   # For a complete reference, please see the online documentation at↲
 11   # https://docs.vagrantup.com.↲
 12 ↲
 13   # Every Vagrant development environment requires a box. You can search for↲
 14   # boxes at https://vagrantcloud.com/search.↲
 15   config.vm.box = "bento/centos-7.3"↲
 16 ↲
 17   # Disable automatic box update checking. If you disable this, then↲
 18   # boxes will only be checked for updates when the user runs↲
 19   # `vagrant box outdated`. This is not recommended.↲
 20   # config.vm.box_check_update = false↲
 21 ↲
 22   # Create a forwarded port mapping which allows access to a specific port↲
 23   # within the machine from a port on the host machine. In the example below,↲
 24   # accessing "localhost:8080" will access port 80 on the guest machine.↲
 25   # NOTE: This will enable public access to the opened port↲
 26   # config.vm.network "forwarded_port", guest: 80, host: 8080↲
 27 ↲
 28   # Create a forwarded port mapping which allows access to a specific port↲
 29   # within the machine from a port on the host machine and only allow access↲
 30   # via 127.0.0.1 to disable public access↲
 31   # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"↲
 32 ↲
 33   # Create a private network, which allows host-only access to the machine↲
 34   # using a specific IP.↲
 35   # config.vm.network "private_network", ip: "192.168.33.10"↲
 36 ↲
 37   # Create a public network, which generally matched to bridged network.↲
 38   # Bridged networks make the machine appear as another physical device on↲
 39   # your network.↲
 40   # config.vm.network "public_network"↲
 41 ↲
 42   # Share an additional folder to the guest VM. The first argument is↲
 43   # the path on the host to the actual folder. The second argument is↲
 44   # the path on the guest to mount the folder. And the optional third↲
 45   # argument is a set of non-required options.↲
 46   config.vm.synced_folder ".", "/var/www/wordpress",↲
 47 ▸ ▸ :nginx => "nginx",↲
Vagrantfile                                                                                                   1,1            Top
"Vagrantfile" 73L, 3107C
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+2

.vimrc はホームディレクトリに置かれている必要があります。PATH 環境変数は関係ありません。ゲストの root ユーザでホストと同じ設定を使いたい場合はホスト側の ~/.vimrc を /root/.vimrc にコピーする必要があります。vagrant ユーザで利用したい場合は /home/vagrant/.vimrc にコピーする必要があります。

scp でコピーするか vagrant のプロビジョニング(config.vm.provision)を利用して、配置してはいかがでしょうか? Mac OS であれば、 ansible が使えるので ansible でプロビジョニングするのがおすすめです。
参考:AnsibleとVagrantで開発環境を構築する

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 08:22

    ホストにインストール済みのコマンドを実行したいに見えるのは気のせいだろうか

    キャンセル

0

ホスト上の.vimrcがゲストから見えるようにマウントしてあるのならば、.bashrc等で、

export VIMINIT="source ゲストから見たホスト上の.vimrcのフルパス"


と書いてください。
もしくは、全く同じ.vimrcで良いなら、シンボリックリンクを作っておきます。

$HOME/.vimrc があれば削除する
ln -s ゲストから見たホスト上の.vimrcのフルパス $HOME/.vimrc

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 20:36

    ご回答ありがとうございます。
    本文に追記しましたのでご確認いただけますでしょうか?

    キャンセル

0

タイトルに「vi設定」って書いてあるけど、.vimrcでいいの?
vimはviを参考に作られたエディタだから、viとvimは別物だよ。
設定ファイルの読み込み箇所はこんな感じ。

  • vi: $HOME/.exrc
  • vim: $HOME/.exrc -> $HOME/.vimrc の順番に読み込み

$PATHじゃなくて$HOME配下のファイルを読み込むから確認して放り込めばおk。

$ echo $HOME
/root

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.98%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Linux

    3205questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    2360questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • MacOS(OSX)

    1644questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Vim

    447questions

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

  • Visual Studio Code

    182questions

    Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。