Proposal for 'vim' of a PDS/PDSE member #843
Replies: 10 comments 15 replies
-
+1 - simple and effective. I like it, so the initial scope would be limited to editing existing datasets? Curious how important will being able to create new datasets via vim be to users? We could also assume all dataset contents are in EBCDIC for the time being (and auto-convert to the ASCII since Vim is compiled in ascii mode) |
Beta Was this translation helpful? Give feedback.
-
The likelihood of a GDG being a PDS is extremely rare, in fact I've never seen one in my 52 year career working with MVT 21.6 up thru z/OS 3.1. One of the (many) challenges with working with GDG datasets is that the dataset name appears to be be a PDS as the generation is where the member name would be - for example |
Beta Was this translation helpful? Give feedback.
-
I don't like this. Filenames can have parentheses in them, and this seems like an arbitrary limitation without much upside. |
Beta Was this translation helpful? Give feedback.
-
I feel that the baseline case for vim "//'sys1.parmlib(bpxprm00)'" |
Beta Was this translation helpful? Give feedback.
-
Maybe another discussion altogether... Another question with editing in general is... when working with a .py file for example, even if a language plugin isn't in use, we can just tab once to get the required indentation. Can vim be made smart this way, to interpret tab as insert 'n' spaces until the column where this line is allowed to begin ? |
Beta Was this translation helpful? Give feedback.
-
For me, what is paramount is that I also agree that As much as I would like |
Beta Was this translation helpful? Give feedback.
-
There is also no need to try to have |
Beta Was this translation helpful? Give feedback.
-
Good idea. We will need to do something to ensure the file doesn't get modified somewhere else while the file is being edited in vim. May be open the file for read/write at the start (and ensuring a vim crash doesn't clobber the file) to prevent other people updating the file. |
Beta Was this translation helpful? Give feedback.
-
Does vim have a column mode? It's one thing to be able to open the files in vim. It's another to give the user a productive editing experience. I remember from my days of using xedit that column based movement was important. |
Beta Was this translation helpful? Give feedback.
-
I am going to mark this as 'done' since we've got a good base implementation. If there are problems or enhancements, please open something new and feel free to reference this. |
Beta Was this translation helpful? Give feedback.
-
It would be nice to be able to edit a PDS(E) member (and perhaps a sequential dataset and/or GDG member) using vim.
To implement this, there are some considerations:
How we determine whether the request is for a dataset or for a file? There are several options:
--dataset
to indicate it is a dataset and not a file we want to edit//
is treated as a dataset and otherwise it is a fileFULTONM.PROJ23.COBOL(PROG)
to assume it is a dataset unless some option is specified to override it.//
syntax added in, e.g.dvim 'fultonm.proj23.cobol(prog)'
would be a wrapper to vim"//'FULTONM.PROJ23.COBOL(PROG)'"
. This is also consistent with C services in USS as well as being consistent with ZOAU (for the dvim model).How we work with the underlying dataset:
open
,read
,write
,close
) and not POSIX I/O 'file pointer' services (e.g.fopen
,fread
,fwrite
,fclose
), and also needs to have multiple active read file descriptors active concurrently. As such, providing 'native' dataset support in vim would be very complex.textwidth
andcolorcolumn
based on the record length of the dataset so that people are less likely to exceed the record length of the datasetBeta Was this translation helpful? Give feedback.
All reactions