انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

اوبونتو ۲۳٫۱۰ منتشر شد 🎉

نویسنده موضوع: حل چند مشکل در ویم  (دفعات بازدید: 1339 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
حل چند مشکل در ویم
« : 26 شهریور 1402، 07:50 ب‌ظ »
درود

دیروز اتفاق بسیار ناگواری برای ویم بنده افتاد که خیلی اعصاب خورد کن بود در کل فایل vimrc  پرید و مجبور شدم که از اول اول تنظیمات رو درست کنم.

از ساعت ۲ تقریبا درگیر ویم شدم و تقریبا تموم شده و نسبت به قبل پیشرفت چشمگیری داشته!!

الان فقط دو تا مشکل دارم!!

۱: یه کلید میان بر نیاز دارم برای جابجایی سریع بین تپ ها در ویم (  برای پلاگین  nerdtree  )

۲ : وقتی میخوام پس زمینه ویم رو انخاب کنم با این ارور مواجه میشم:
Error detected while processing /home/learner/.vimrc:
line   14:
E185: Cannot find color scheme 'molokai'
Press ENTER or type command to continue

ولی من حتی رنگ مورد نظر هم نصب کردم!!!  ](*,)
----
تنظیمات فایل vimrc بنده فعلا به این شکله :

set number
set cursorline
set expandtab
set tabstop=4
set softtabstop=4

   
set shiftwidth=4
 
set autoindent
set textwidth=80
:syntax enable
:set cindent
colorscheme molokai
set encoding=UTF-8

 
call plug#begin()

Plug 'scrooloose/nerdtree'
Plug 'dracula/vim', { 'as': 'dracula' }
Plug 'frazrepo/vim-rainbow'
Plug 'ryanoasis/vim-devicons'
Plug 'vim-airline/vim-airline'
Plug 'tomasr/molokai'
Plug 'fmoralesc/molokayo'
Plug 'vim-airline/vim-airline-themes'
Plug 'nvim-tree/nvim-web-devicons'
Plug 'jiangmiao/auto-pairs'
Plug 'neoclide/coc.nvim', {'branch': 'release'}


call plug#end()

autocmd VimEnter * NERDTree




let g:airline_powerline_fonts = 2


let g:airline#extensions#tabline#enabled = 1
let g:webdevicons_enable_nerdtree = 1

let g:rainbow_active = 1
let g:rainbow_load_separately = [
    \ [ '*' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],
    \ [ '*.tex' , [['(', ')'], ['\[', '\]']] ],
    \ [ '*.cpp' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],
    \ [ '*.{html,htm}' , [['(', ')'], ['\[', '\]'], ['{', '}'], ['<\a[^>]*>', '</[^>]*>']] ],
    \ ]

let g:rainbow_guifgs = ['RoyalBlue3', 'DarkOrange3', 'DarkOrchid3', 'FireBrick']
let g:rainbow_ctermfgs = ['lightblue', 'lightgreen', 'yellow', 'red', 'magenta']

 let g:airline_theme='molokai'



function! AccentDemo()
  let keys = ['a','b','c','d','e','f','g','h']
  for k in keys
    call airline#parts#define_text(k, k)
  endfor
  call airline#parts#define_accent('a', 'red')
  call airline#parts#define_accent('b', 'green')
  call airline#parts#define_accent('c', 'blue')
  call airline#parts#define_accent('d', 'yellow')
  call airline#parts#define_accent('e', 'orange')
  call airline#parts#define_accent('f', 'purple')
  call airline#parts#define_accent('g', 'bold')
  call airline#parts#define_accent('h', 'italic')
  let g:airline_section_a = airline#section#create(keys)
endfunction
autocmd VimEnter * call AccentDemo()

تقریبا ۷۵ درصد راه رفتم!! ( عاشق چالش های ویم هستم خیلی زیباست )

راستی یه چیز دیگه !  من به صورت کامند لاین در ویم میتونم رنگ رو عوض کنم امابه صورت همیشگی  و نوشتن اون در فایل ( که بالا تر توضیح دادم ) نمیتونم عوض کنم!!!
-----
ممنون میشم راهنمایی کنید و اگر تنظیمات بهتری بود بهم بگید!
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین sd70

  • Jr. Member
  • *
  • ارسال: 95
  • جنسیت : پسر
پاسخ : حل چند مشکل در ویم
« پاسخ #1 : 26 شهریور 1402، 08:23 ب‌ظ »
در فایل تنظیمات شما قبل از اینکه molokai لود بشه، از دستور colorscheme استفاده شده و به همین علت این مشکل ایجاد شده. این دستور رو به بعد از call plug#end()‎ انتقال بدین. در کل بهتره بخش لودشدن پلاگین‌ها در ابتدای فایل تنظیمات قرار داده بشه.

برای جابجایی بین تب‌ها همون میانبر پیشفرض gt و gT جوابگو نیست؟

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #2 : 26 شهریور 1402، 08:36 ب‌ظ »
در فایل تنظیمات شما قبل از اینکه molokai لود بشه، از دستور colorscheme استفاده شده و به همین علت این مشکل ایجاد شده. این دستور رو به بعد از call plug#end()‎ انتقال بدین. در کل بهتره بخش لودشدن پلاگین‌ها در ابتدای فایل تنظیمات قرار داده بشه.

برای جابجایی بین تب‌ها همون میانبر پیشفرض gt و gT جوابگو نیست؟
سلام خیلی ممونم مشکل اول من رفع شد برای مشکل دوم نه مثلا چیزی شبیه به  ctrl+A / ctrl+S 
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین esmaeelE

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1181
  • جنسیت : پسر
پاسخ : حل چند مشکل در ویم
« پاسخ #3 : 26 شهریور 1402، 08:52 ب‌ظ »
روی ویم‌های جدید از نسخهٔ ۸ یک مدیر پلاگین درونی دارین که باید از اون استفاده کنید.
خیلی از مشکلات بعدی به این شکل حل می‌شوند.
به عنوان یک رهنمود کلی سعی کنید از کم‌ترین پلاگین روی ویم استفاده کنید.

به nerdtree هم نیاز ندارید می‌تونید از مدیر پروندهٔ درونی خود ویم netrw با یکسری تنظیم استفاده کنید.

let g:netrw_banner = 0
let g:netrw_browse_split = 4
let g:netrw_altv = 1
let g:netrw_winsize = 25

برای جابه جایی بین تب‌ها از gt , gT استفاده کنید.



آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #4 : 26 شهریور 1402، 09:15 ب‌ظ »
روی ویم‌های جدید از نسخهٔ ۸ یک مدیر پلاگین درونی دارین که باید از اون استفاده کنید.
خیلی از مشکلات بعدی به این شکل حل می‌شوند.
به عنوان یک رهنمود کلی سعی کنید از کم‌ترین پلاگین روی ویم استفاده کنید.

به nerdtree هم نیاز ندارید می‌تونید از مدیر پروندهٔ درونی خود ویم netrw با یکسری تنظیم استفاده کنید.

let g:netrw_banner = 0
let g:netrw_browse_split = 4
let g:netrw_altv = 1
let g:netrw_winsize = 25

برای جابه جایی بین تب‌ها از gt , gT استفاده کنید.

اینها وقتگیر هستند مدیر پرونده درونی مثل nerdtree  جذاب نیست و حس بدی به من میده

خب فکر کنم انتختب قطعی خودم رو کردم  ctrl+s , ctrl+a  جذاب تر و کاربردی تر هستند چون اون کامند ها وقتگیر هستند !
یه داکیومنت خوب برای اینکه چطور  key binding  ( فارسیش رو اصلا نمیدونم !!! ولی اگه میدونی حتما بگو! ) ست کنیم؛میخوام خودم یاد بگیرم شاید از این چیزی که هسا بهترش کردم!!‌ >:D
آها تا یادم نرفته ! نیاز به یک پلاگین دارم که دسترسی ترمینال رو در ویم راحت تر کن چون وقتی از ترمینال در ویم استفاده میکنید خیلی رو مخ و کند میشه و حتی دردسر ساز!!

ادیت :

آیا استفاده از کامپایلر clang  ایرادی نداره؟؟ چون یک چک کننده کد برای ویم نصب کردم که تقریبا حکم  LSP  ها رو داره البته فکر کنم ما در  ویم  lsp  نداریم (  Coc رو استفاده میکنم ) ولی  در کل نمیدونم متن باز یا آزاد هست
« آخرین ویرایش: 26 شهریور 1402، 09:23 ب‌ظ توسط learner:~$ »
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #5 : 27 شهریور 1402، 06:24 ب‌ظ »

set number
:set cursorline
:set expandtab
:set tabstop=4
:set softtabstop=4
:set ignorecase
:set showmatch   
:set shiftwidth=4
:set autoindent
:set textwidth=80
:set splitbelow
:set splitright
:syntax enable
:set cindent
:set encoding=UTF-8
:filetype plugin on
nnoremap <leader>vs :vsplit<CR>
nnoremap <leader>hs :split<CR>
let mapleader = " " " map leader to Space

nnoremap <C-Up> :resize +2<CR>
nnoremap <C-Down> :resize -2<CR>
nnoremap <C-Left> :vertical resize +2<CR>
nnoremap <C-Right> :vertical resize -2<CR>
 
call plug#begin()

Plug 'scrooloose/nerdtree'
Plug 'dracula/vim', { 'as': 'dracula' }
Plug 'frazrepo/vim-rainbow'
Plug 'ryanoasis/vim-devicons'
Plug 'vim-airline/vim-airline'
Plug 'tomasr/molokai'
Plug 'fmoralesc/molokayo'
Plug 'vim-airline/vim-airline-themes'
Plug 'nvim-tree/nvim-web-devicons'
Plug 'jiangmiao/auto-pairs'
Plug 'neoclide/coc.nvim', {'branch': 'release'}


call plug#end()

colorscheme molokayo



autocmd VimEnter * NERDTree
autocmd VimEnter * NERDTree | wincmd p

nnoremap <C-a> :tabprevious<CR>
nnoremap <C-s> :tabnext<CR>

let g:airline_powerline_fonts = 2


let g:airline#extensions#tabline#enabled = 1
let g:webdevicons_enable_nerdtree = 1

let g:rainbow_active = 1
let g:rainbow_load_separately = [
    \ [ '*' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],
    \ [ '*.tex' , [['(', ')'], ['\[', '\]']] ],
    \ [ '*.cpp' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],
    \ [ '*.{html,htm}' , [['(', ')'], ['\[', '\]'], ['{', '}'], ['<\a[^>]*>', '</[^>]*>']] ],
    \ ]

let g:rainbow_guifgs = ['RoyalBlue3', 'DarkOrange3', 'DarkOrchid3', 'FireBrick']
let g:rainbow_ctermfgs = ['lightblue', 'lightgreen', 'yellow', 'red', 'magenta']

let g:airline_theme='badwolf'

let g:airline#extensions#tabline#formatter = 'unique_tail'

خب خب اینم تنظیمات نهایی !
پیشرفت های الا من به سری قبل:
اضافه کردن  lsp .
 بهینه بودن و خوانا بودون و همچنین حجم کمتر کد نسبت به قبل.
حذف کردن برخی از تنظیمات بی خود.
اضافه کردن لاین زیرین.
چیدن میانبر های بهتر و کاربردی تر.
و...
-------------------
چند نکته:

nnoremap <leader>vs :vsplit<CR>
nnoremap <leader>hs :split<CR>
let mapleader = " " " map leader to Space

کلید لیدر به صورت پیشفرض در ویم علامته \ هست ( بک اسلش ) که من اون رو به اسپیس تغیر دادم که بتونم صفحه رو به صورت عمودی و افقی نصف کنم هرچند که گاهی اوقات کار نمیکنه و عنوز درحال تنظیمه پس شما هرچی دوست داشتید اضافه کنید ( شما خط آخر رو بالا تر از اون دو خط بالا بنویسید )

اگر دقت کرده باشید وقتی nerdtree  باز میشه خیلی بزرگه و فضای زیادی اشغال میکنه پس من تصمیم گرفتم  با  ctrl + arrow keys هروقت دلم خواست  سایز پنجره خودم رو عوض کنم و نیاز به حالت موس نباشه:
nnoremap <C-Up> :resize +2<CR>
nnoremap <C-Down> :resize -2<CR>
nnoremap <C-Left> :vertical resize +2<CR>
nnoremap <C-Right> :vertical resize -2<CR>


خب اگر حتی  nerdtree  هم نصب باشه باید وارد کامند مود بشید و به صورت دستی کد رو وارد کنید اما این کد همون اول وقتی فایل مورد نظر  رو باز میکنید نرد تری به صورت پیشفرض باز میشه :

autocmd VimEnter * NERDTree

حالا اگر دقت کنید وقتی نرد تری باز میشه curser  در نیمه چپ هست (‌روی فایل ها و ... ) اما این کد باعث میشه که  curser تویه خود فایل و صفحه اصلی بالا بیاد( بهتر از این نمیتونم توضیح بدم )  :
autocmd VimEnter * NERDTree | wincmd p


خب من شما رو نمیدونم اما کاربرد تب ها برای من بیشتر از بافره  :P ! پس برای همین باید خیلی راحت بین تب ها جابجا بشم! چی بهتر از  ctrl+a , ctrl+s ؟؟؟ :
nnoremap <C-a> :tabprevious<CR>
nnoremap <C-s> :tabnext<CR>



حال کردی؟؟؟ بقیه چیز ها قرتی بازیه و میسپارم به خودتون اما مشکلی داشتید بگید مخوصا تویه  coc  از همه سخترینه ولی یادش گرفتم  :)
نظرتون چیه خوب یا نه؟؟
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19499
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : حل چند مشکل در ویم
« پاسخ #6 : 29 شهریور 1402، 01:16 ب‌ظ »
من برای داشتن سیاههٔ پرونده‌ها در ویم از این پیکربندی استفاده کرده‌ام:
https://framagit.org/danialbehzadi/dotfiles/-/blob/49da1007ac5ad1ac1dcfda398e3bf4a76d62a414/vimrc#L123

در ضمن، استفاده از زبونه به جای میانگیر خیلی کار درستی نیست.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #7 : 29 شهریور 1402، 01:45 ب‌ظ »
نقل‌قول

در ضمن، استفاده از زبونه به جای میانگیر خیلی کار درستی نیست.
زبونه و میانه؟؟ منظورتون تب و بافره؟؟
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19499
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : حل چند مشکل در ویم
« پاسخ #8 : 29 شهریور 1402، 03:51 ب‌ظ »
زبانه -> Tab
میانگیر -> Buffer
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #9 : 29 شهریور 1402، 06:53 ب‌ظ »
زبانه -> Tab
میانگیر -> Buffer
لطفا برای واژه های تخصصی و از این قبیل معادله فارسی استفاده نکنید معنی کلا عوض شده!!حالا هرجور خودتون راحتید ولی به نظرم انگلیسیش بهتره
تا فارسی بشه و جمله مبهمی درست بشه

الان لینک رو چک میکنم درگیر بودم  به هر حال نیاز دارم که چند تا میانبر برای بافر ها درست کنم
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #10 : 30 شهریور 1402، 07:21 ب‌ظ »
دوستان امکاش هست شما تنظیمات خودتون و پس زمینه ایی که در ویم استفاده میکنید رو نشون بدید=)
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین aFard

  • High Sr. Member
  • *
  • ارسال: 638
  • جنسیت : پسر
  • از دوستاران لینوکس
    • ویرگول من
پاسخ : حل چند مشکل در ویم
« پاسخ #11 : 30 شهریور 1402، 09:34 ب‌ظ »
موضوع جدید = تاپیک جدید  :o 8)
Its The legendery alireza138812

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #12 : 31 شهریور 1402، 10:34 ق‌ظ »
موضوع جدید = تاپیک جدید  :o 8)
لازم نیست هر دقیقه یه تاپیک باز کنیم !! ولی باشه
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19499
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : حل چند مشکل در ویم
« پاسخ #13 : 31 شهریور 1402، 08:23 ب‌ظ »
این برای من
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین learner:~$

  • High Sr. Member
  • *
  • ارسال: 544
  • جنسیت : پسر
  • روزی روزه گاری در گنو/لینوکس
پاسخ : حل چند مشکل در ویم
« پاسخ #14 : 01 مهر 1402، 12:59 ب‌ظ »
جذابه ولب حس میکنم خیلی رسمیه
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.