thanks for your responses, but I tried everything and it still doen't work.
I tired this: au BufReadPost * if &readonly | set nomodifiable | endif and this: autocmd BufRead,BufWinEnter * if &ft!='qf' | let &l:modifiable = (&readonly ? 0 : 1) | endif It only works fine for the very first buffer that I open in a window, but once I open a new readonly file (using "vsplit" or "sp") it just allows for modification.... Any idea why this is happenning? or any possible solution around it? thanks, Rudy Ben Fritz wrote: > > > > On May 4, 11:43 pm, rudy_b <[email protected]> wrote: >> Hi, >> I have included the autocmd (listed below) in my .vimrc file. >> au BufReadPost * if &readonly | set nomodifiable >> >> The intention is to not let gvim even modify the read only files, which >> works great with some downside. >> >> It only works when I just start a new gvim window!!! If, in the same >> window, >> I load a different buffer (by opening a new read only file) I have to go >> in >> and manually do "set nomodifiable"... which is very annoying. >> > > Here is my autocmd for this purpose: > > " set readonly files to also be non-modifiable by default, and > others to be > " modifiable by default > autocmd BufRead,BufWinEnter * if &ft!='qf' | let &l:modifiable = > (&readonly ? 0 : 1) | endif > > There are a few improvements here: > > 1. There's an endif (as Gary points out) > 2. I use the local value of modifiable, so that new buffers do not > inherit this value (note the use of &l:modifiable instead of just > &modifiable). You could do this in your own using setlocal, but then > you wouldn't get the next impromement: > 3. By also setting 'modifiable' when readonly is NOT set, I can load a > new buffer in the same window, or reload the same buffer after > clearing the readonly option, and it will work as intended. Finally, > 4. I don't set 'modifiable' for the quickfix window, which is marked > non-modifiable but not readonly (if I recall correctly). > > I do not remember what the additional BufWinEnter event is for. > Probably I was having trouble with a corner case or two where BufRead > wasn't firing. A new buffer with no associated file, perhaps? Or maybe > it's for handling hidden buffers that don't get re-read but whose > 'readonly' status may have changed. > > -- > You received this message from the "vim_use" maillist. > Do not top-post! Type your reply below the text you are replying to. > For more information, visit http://www.vim.org/maillist.php > > -- View this message in context: http://old.nabble.com/au-BufReadPost-*-if--readonly-%7C-set-nomodifiable-tp28456618p28466220.html Sent from the Vim - General mailing list archive at Nabble.com. -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
